2009-09-22 21 views
1

ボタンとSQLDataAdapterおよび対応するsaveButtonによってロード/読み込みが行われる素敵なlitte DataGridViewがあります。SQLDataAdapterを使用したDataGrid更新の問題

private void loadButton_Click(object sender, EventArgs e) 
{ 

    String connString = conStringComboBox.Text; 
    String query = queryStringComboBox.Text; 

    dAdapter = new SqlDataAdapter(query, connString); 
    SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapter); 

    dTable = new DataTable(); 

    dAdapter.Fill(dTable); 

    bSource = new BindingSource(); 

    bSource.DataSource = dTable; 

    dataGridView.DataSource = bSource; 

} 


private void saveButton_Click(object sender, EventArgs e) 
{ 
    dAdapter.Update(dTable); 
} 

私がdataGridViewで何かを編集してすべてを保存すると、すべてがちょうど桃色です。 SQLサーバー上の正しいセルの値が更新されます。

しかし、わかりやすい概要のために小さなエディターを実装しました。セルのXの値が変更され、それが戻ってDataGridViewのに取得します:

dataGridView.SelectedCells[0].Value = exampleString; 

DataGridViewのアップデートに応じて、私は[保存]をクリックします - 更新が滞りなく実行されますが、新しい値は、明らかにSQL Serverにコミットされません同じテーブルをロードするとすぐに古い値が再び表示されるためです。

ここで私が忘れたものは何ですか?すべての入力が高く評価されています!

答えて

0

あなたがデータテーブルにバインドされているので、行は(修正されたオリジナル、)rowstateを持って

賞賛:

は長い検索の後、私は最終的に手がかりを見つけました。グリッド内のビルド編集機能を使用すると、行の状態が変更されます。プログラムを使用してセルを更新するメソッドを使用すると、元のソースdatarowプロパティが変更されたり、値が変わったりしません。

+0

私はeditStateを正常に終了していないので、あなたはそこにお金を入れていました。 – Hoax

関連する問題