LINQ DataGridView插入删除未显示



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

当我编辑一个或另一个网格中的现有行时,更改会反映到另一个栅格,反之亦然,正如预期的那样。

但是,当我在其中一个网格中插入记录或删除记录时,更改不会反映到另一个网格。这就像新行处于一种状态,我的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,它是筛选第一个BindingSource的LINQ查询的结果。然后,当用户编辑dtgFilterGrid时,将手动进行更新,以使第一个BindingSource保持最新。

相关内容

  • 没有找到相关文章

最新更新