数据网格视图(winform)未正确填充

时间:2013-02-01 06:54:18

标签: c# winforms linq datagridview

我的数据库DepartmentFaculty中有两个表。我正在winform应用程序中填充部门列表的datagridview。我的两张表都在关注

  1. Sno(int)
  2. 名称(varchar(max))
  3. 状态(位)
  4. Faculty_id(int)
    1. Sno(int)
    2. 名称
    3. 状态
    4. 现在来代码我只需将datagridview拖放到我的表单中,然后转到文件后面的代码。在我的表单的加载方法中,我编写以下代码

              var main = new SRMEntities();
              var departs = main.Department.ToList();
              DepartmentGrid.DataSource = departs;
      

      现在,当我的表单加载时,它显示如下 Department Grid

      在教师专栏中查看它没有显示任何内容,当我们创建部门时,我们将教师ID存储到部门。我想在这里展示教员的名字。

      如果您有任何疑问,请与我们联系。

      提前致谢

      修改

      我的数据库图

      Database

3 个答案:

答案 0 :(得分:2)

这是正确的加入:

var main = new SRMEntities();
var query = from f in main.Faculty
            join d in main.Department on f.Sno equals d.Faculty.Sno
            select new { d.Sno, d.Name, d.Status, Faculty = f.Name };

DepartmentGrid.DataSource = query.ToList();

答案 1 :(得分:1)

一切都取决于您的查询............您的查询应包含带有Join的表。

var main = new SRMEntities();
var departs = main.Department.ToList();
DepartmentGrid.DataSource = departs;

请检查上面的代码“main.Department.ToList();”仅返回部门,并将“离开”分配给您的网格。

“main.Department”是否包含“Faculty”表信息?

通过查看您的代码,我猜您有一个单独的项目,如下面

1.main.Department
2.main.Faculty

答案 2 :(得分:0)

您需要加入表格

类似的东西:

var main = new SRMEntities();

    var source = (from d in main.Department
                 join f in main.Faculty on d.Faculty.Sno=f.Sno
                 select new
                 {
                  Sno = d.Sno ,
                  Name = d.Name,
                  Status = d.Status, 
                  Faculty = f.Name
                 }
                 );   

    DepartmentGrid.DataSource = source.ToList();

此致