【问题标题】:Extra columns showing up in DataGridView but not showing in SQL额外的列显示在 DataGridView 中但未显示在 SQL 中
【发布时间】:2015-10-07 11:55:00
【问题描述】:

我正在用 Visual Studio 做一个 Windows 窗体程序,并且第一次开始使用 LINQ,我有一个已在 SQL Server 中设置的数据库并将其链接到我在 Visual Studio 中的程序。

我在表单中添加了一个 DataGridView,并在表单加载事件中放入以下代码以将其中一个数据库表加载到 DGV 中。

  LINQDataClassesDataContext DB = new LINQDataClassesDataContext();
    var test (from s in DB.Student_Courses select s);
    dgvDataTab1.DataSource = test;

表格数据加载到 DGV 中,但“Course”和“Student”末尾有 2 个额外列https://gyazo.com/212646a0f43c2588d4413bef33b24f5b

但是当在 SQL Server 中对该表运行 SQL 查询时,这 2 个额外的列不会显示。

我还注意到在解决方案资源管理器中的 LINQDataClasses 下,Student_Course 表有 2 个 EntityRef,我不知道它们是什么,也不知道它们是如何得到的。

还有其他人反对这个吗?如果是这样,如何删除它们但仍然能够在 DataGridView 中添加/编辑。

她用 LINQ https://gyazo.com/ae1959f18c4647525036c3070f6a8f07添加了指向我的数据库的链接

亲切的问候 迈克尔

【问题讨论】:

    标签: c# linq datagridview


    【解决方案1】:

    你能做一个投影吗?

    LINQDataClassesDataContext DB = new LINQDataClassesDataContext();
    var test = (from s in DB.Student_Courses select new { SID, CID , Mark } );
    dgvDataTab1.DataSource = test;
    

    你能隐藏那些列吗?

    dgvDataTab1.Columns["Course"].Visible = false
    dgvDataTab1.Columns["Student"].Visible = false
    

    【讨论】:

    • 您好,感谢您的回复,我已经尝试过,它只显示我想要的 3 列,但无法在 DataGridView 中添加/编辑
    • 是的,很酷,已经将它们从视图中隐藏了,看来我仍然可以添加/编辑,现在将尝试一些代码来添加/编辑,看看效果如何。谢谢你:)
    猜你喜欢
    • 2013-05-03
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多