RT.初学者.三层架构模式下写了个程序.这是我的表示层代码:
 EmployeeManager epm = new EmployeeManager();
        private void button1_Click(object sender, EventArgs e)
        {
            this.dataGridView1.DataSource = epm.GetAll();
        }
        private void EmployeeInformation_Load(object sender, EventArgs e)
        {          
            this.dataGridView1.AutoGenerateColumns = false;
            this.dataGridView1.DataSource = epm.GetAll();           
        }
业务层
 public List<Employee> GetAll()
        {
            return es.GetAll();
        }
访问层
public List<Employee> GetAll()
        {
            List<Employee> list = new List<Employee>();
            string sql = "select * from employee";
            DataTable dt = DBHelper.GetDataTable(sql);            foreach (DataRow dr in dt.Rows)
            {
                Employee emp = new Employee();
                emp.Eid = Convert.ToInt32(dr[0]);
                emp.Ename = Convert.ToString(dr[1]);
                emp.Eidentitycard=Convert.ToString(dr[2]);
                emp.Ebirthday = Convert.ToString(dr[3]);
                emp.Emale = Convert.ToString(dr[4]);
                emp.Edegree = Convert.ToString(dr[5]);
                emp.Eemail = Convert.ToString(dr[6]);
                emp.Ephone = Convert.ToString(dr[7]);
                emp.Edepartment = Convert.ToString(dr[8]);
                emp.Eposition = Convert.ToString(dr[9]);
                emp.Esalarygrade = Convert.ToString(dr[10]);
                emp.Enote = Convert.ToString(dr[11]);
                emp.Eentrydate = Convert.ToString(dr[12]);
                
                list.Add(emp);
            }
            return list;
        }
模型层就是设置了些属性.编译的时候没有错误.  就是运行的时候dgv不显示数据...希望有高手帮忙解决一下.谢谢

解决方案 »

  1.   

    this.dataGridView1.DataSource = epm.GetAll();
    this.dataGridView1.DataBind();
    加一句,初始化也要
      

  2.   

    你的DataTable dt = DBHelper.GetDataTable(sql);
    这一句
    DBHelper类是怎么写的?看看该类能否返回一个充满数据的DataTable?
      

  3.   

    datagridview没有DataBind方法的
      

  4.   

    试试
    this.dataGridView1.DataSource = new BindingList<Employee>(epm.GetAll());
      

  5.   

    datagridview没有DataBind方法
    搞清楚winform和webform
    搞清楚datagridview和gridview的区别
    断点根跟进,dataable有数据吗
      

  6.   

    这是我的DBHelpr里面的getdatatable不带参方法 public static DataTable GetDataTable(string sql)
            {
                SqlDataAdapter da = new SqlDataAdapter(sql, DBHelper.Connection);
                DataSet ds = new DataSet();
                da.Fill(ds);
                return ds.Tables[0];
            }
      

  7.   

    你调试一下,先看看DBHelper中的GetDataTable方法返回的DataTable是否有数据
      

  8.   

    this.dataGridView1.DataSourceId="";
    this.dataGridView1.DataSource = epm.GetAll();
    this.dataGridView1.DataBind(); 
      

  9.   

    this.dataGridView1.DataBind();...没有这个方法...
      

  10.   

            你是C/S还是B/S架构的?           
      

  11.   

    你看看你的datatable有没有取到值
      

  12.   

    我还是认为DBHelper返回的数据有问题呵呵
      

  13.   

    我的emp.GetAll()方法 返回的list count=2 是2条记录.为什么单步调试的时候 绑定到数据源 数据源.datasouce |null 就是空值呢...
      

  14.   

    光光赋值了数据集,但没有绑定啊dataGridView1.DataBind();
      

  15.   

    dataGridView1.DataBind();这个方法 真心表示没有...
      

  16.   

    你要不先不要经过BLL,直接绑定DAL里面的DataTable,看看有没有数据,如果还是没有,就是DbHelper问题了,最后的回复,明天见
      

  17.   

    this.dataGridView1.AutoGenerateColumns = false;
    这儿错误; 必须是true;为false的话DataGridView没有生成列,就不显示,OK?
    上次偶弄这个整了老长时间;