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 に答える