UltraGridが提供するメソッド呼び出しUpdateData()を使用して、行ごとまたはセルごとに変更を追跡する必要なしに、すべての複数の行を更新できます。
UpdateDataメソッドは、グリッド内の変更された情報を更新し、データプロバイダーに送信します。更新が完了すると、データが変更されたとマークされた行はすべて、そのマークがクリアされます。
UpdateMethodは、まだ編集モードになっているセルを終了する必要があります。これはバグであり、これを解決するには、以下に示すように使用する必要があります。
ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); ultraGrid1.UpdateData();
この方法で使用する理由の詳細については、http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.Aspx ?ArticleID=4220を参照してください。
2番目の質問に答えるには、この方法でUpdateDataメソッドを使用する必要があります
e.g.
private void ultraButton1_Click(object sender, EventArgs e)
{
ultraGrid1.UpdateData();
this.dbRowsTableAdapter.Update(this.testDataSet);
ultraButton1.Enabled = false;
}
繰り返しになりますが、UltraGridはローカルデータをそれ自体に対して純粋に保つようです。したがって、TableAdapterのUpdateメソッドを呼び出す必要があります。つまり、DataSetを作成し、それをSqlDataAdapterで埋める必要があります。
UltraGrid.UpdateDataメソッドがデータベースにコミットしない理由を明確に説明しているフォーラムを参照してくださいhttp://www.infragistics.com/community/forums/t/57161.aspx