0

在使用 Linq to Entity 在 BidingNavigator 上单击保存按钮后,如何插入添加到 GridView 中的数据。

我正在尝试将数据添加到数据库,但出现了一些问题。我正在使用此代码显示数据:

...

 private void PostojeciPRojekti_Load(object sender, EventArgs e)
        {

            dbcontext = new logicrms2Entities1();

            var projekti = from c in dbcontext.projekti
                             select c;

            projektiBindingSource.DataSource = projekti.ToList();
            projektiGridControl.Refresh();



        }

...

编辑

我尝试使用以下方法保存数据:

   private void projektiBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {


        dbcontext.SaveChanges();
        gridView1.RefreshData();


    }
4

1 回答 1

1

首先在表单中维护一个新添加对象的列表:

private List<projekti> addedList = new List<projekti>();

然后,处理DataGridView 上的RowsAdded事件:

dataGridView1.RowsAdded += new DataGridViewRowsAddedEventHandler(dataGridView1_RowsAdded);

接下来,将任何添加的对象添加到 RowsAdded 事件处理程序的列表中:

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
     addedList.Add(dataGridView1.Rows[e.RowIndex].DataBoundItem as projekti);
}

最后,在导航器的保存按钮单击事件处理程序方法中,您可以存储对象:

private void saveButton_Click(object sender, EventArgs e)
{
     var dbcontext = new logicrms2Entities1();
     addedList.ForEach(p=> dbcontext.projeckit.Add(p));
     dbcontext.SaveChanges()
}
于 2013-09-08T11:01:51.320 回答