LINQ 표현식에 바인딩 된 DataGrid에 문제가 있습니다. 사실 동일한 DataContext를 사용하여 동일한 SQL 테이블에 바인딩 된 두 개의 DataGrid를 가졌습니다.LINQ DataGridView 삽입 삭제가 표시되지 않음
한 그리드 또는 다른 그리드에서 기존 행을 편집 할 때 변경 사항이 다른 그리드에 반영되고 그 반대의 경우도 마찬가지입니다.
그러나 레코드를 삽입하거나 하나의 표에서 레코드를 삭제하면 변경 내용이 다른 표에 반영되지 않습니다. 그것은 내 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