2017-04-14 112 views
0

我有一个DataGridView,我从C#中的类库中填充。我通过调用一个方法填充GridView,在我的EmployeeDataAccess类中返回一个DataTable(dt)的FetchEmployee()。我已经将该类设置为此DataGridView的BindingSource。但是,DataGridView仅填充数据的第一列和最后一列。中间的列是空白的。这是装订方法:我的datagridview不显示我的数据

private void dgvEmployeeBindGrid() 
    { 
     dgvEmployee.DataSource = null; 
     dgvEmployee.DataSource = EmployeeDataAccess.FetchEmployees(); 
    } 

这是FetchEmployee()方法:

public static DataTable FetchEmployees() 
    { 
     DataTable dt = new DataTable(); 
     using (SqlConnection conn = new SqlConnection(DatabaseConnection.Test)) 
     { 
      conn.Open(); 
      using (SqlCommand cmd = conn.CreateCommand()) 
      { 
       cmd.CommandType = CommandType.StoredProcedure; 
       cmd.CommandText = "Employee_Fetch"; 
       using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) 
       { 
        using (dt) 
        { 
         sda.Fill(dt); 
        } 
       } 
      } 
      return dt; 
     } 

基本上,存储过程只是说: “SELECT * FROM EMPLOYEE”

我的结果显示如下:

的EmpID用一个值,接下来的三列(声母,FName参数,LName的)所有空白,并在最后一列,主动其中显示了主动或不切适当的检查因未激活而被激活。

对不起,我不知道如何插入屏幕快照。任何人都可以给我一些见解,为什么中间行已被省略?

+0

那些在你的DatabaseConnection.Test连接中实际上没有的数据在它们中是正确的? – KSib

+0

是的。所有24列显示网格中的EmpID和Active列。 – Wurm

回答

0

我能够通过重命名我的公共属性和专用字段来完全匹配我所指的SQL数据表字段来解决此错误。我很高兴:)