Winforms 未显示LINQ DataGridView插入删除

Winforms 未显示LINQ DataGridView插入删除,winforms,linq,datagridview,savechanges,Winforms,Linq,Datagridview,Savechanges,绑定到LINQ表达式的DataGrid有问题。 事实上,我使用相同的DataContext将两个DataGrid绑定到同一个SQL表 当我编辑一个或另一个网格中的现有行时,所做的更改将反映到另一个网格,反之亦然 但是,当我在一个网格中插入记录或删除记录时,更改不会反映到另一个网格。这就像新行处于我的LINQ表达式不接受这些类型更改的状态一样 我需要将更改保存到数据库中,然后其他网格才能“看到”更改 在插入行/删除行更改时,是否可以通知两个LINQ结果对象 这是我的密码: public parti

绑定到LINQ表达式的DataGrid有问题。 事实上,我使用相同的DataContext将两个DataGrid绑定到同一个SQL表

当我编辑一个或另一个网格中的现有行时,所做的更改将反映到另一个网格,反之亦然

但是,当我在一个网格中插入记录或删除记录时,更改不会反映到另一个网格。这就像新行处于我的LINQ表达式不接受这些类型更改的状态一样

我需要将更改保存到数据库中,然后其他网格才能“看到”更改

在插入行/删除行更改时,是否可以通知两个LINQ结果对象

这是我的密码:

public partial class Form1 : Form
{
    GMR_DEVEntities  CTX;

    public Form1()
    {
        InitializeComponent();

        CTX = new GMR_DEVEntities();
        dataGridView1.AutoGenerateColumns = true;
        dataGridView2.AutoGenerateColumns = true;
        this.dataGridView1.Columns.Clear();
        this.dataGridView2.Columns.Clear();
    }

    private void btnLoadGrid1_Click(object sender, EventArgs e)
    {
        var Data = from dd in CTX.tblConfigs select dd;
        this.dataGridView1.DataSource = Data;

    }

    private void btnLoadGrid2_Click(object sender, EventArgs e)
    {
        var Data = from dd in CTX.tblConfigs select dd;
        this.dataGridView2.DataSource = Data;

    }

    private void btnSave_Click(object sender, EventArgs e)
    {
        CTX.SaveChanges();
    }


}

我找到了一个解决办法,效果很好。
第一个网格(dtgGrid)附加到BindingSource,它附加到LINQ查询结果。然后,将第二个网格(dtgFilteredGrid)附加到另一个BindindSource,该BindindSource是过滤第一个BindingSource的LINQ查询的结果。然后,当用户编辑dtgFilterGrid时,会手动进行更新,以使第一个BindingSource保持最新状态。

我可以用另一种方式问这个问题;当我使用DataGridView插入行时,任何LINQ查询都不会得到新插入的行。如何在不保存DataContext的情况下获取新行?