我有一个DataGridView,我从C#中的类库中填充。我通过在EmployeeDataAccess类中调用一个返回DataTable(dt)的方法FetchEmployee()来填充GridView。我已将该类设置为此DataGridView的BindingSource。但是,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,接下来的三列(Initials,FName,LName)全部为空白,最后一列,Active显示相应的有效检查或未检查为无效。
抱歉,我不知道如何插入屏幕截图。谁能给我一些关于为什么中间行被省略的见解?
答案 0 :(得分:0)
我能够通过重命名我的公共属性和私有字段来完全匹配我所指的SQL数据表字段来解决此错误。我很高兴:)