LINQ式にバインドされたDataGridに問題があります。 実際には、同じDataContextを使用して、同じSQLテーブルにバインドされた2つのDataGridを持っています。LINQ DataGridView挿入削除が表示されない
1つまたは他のグリッド内の既存の行を編集すると、その変更は他のグリッドに反映され、その逆も同様です。
ただし、レコードを挿入するか、グリッドの1つにレコードを削除すると、変更は他のグリッドに反映されません。これは、新しい行が私の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();
}
}
別の方法で質問することができます。 DataGridViewで行内に挿入すると、LINQクエリは新しく挿入された行を取得しません。 以前にDataContextを保存しなくても、その新しい行を取得するにはどうすればよいですか? – Hugo