0
こんにちは私はC#を初めて使用しています。Form
のコンポーネントとAccept_btn
というボタンからデータを取得するDataGridView
のフォームがあります。私はDataGridView
の変更でテーブルを更新しようとしています。私はフォームのLoadイベントの例から得た以下のコードを使用しました。DataGridViewの変更でテーブルを更新する
connection.Open();
string query = "SELECT * FROM Cables";
OleDbDataAdapter da = new OleDbDataAdapter(query, connection);
OleDbCommandBuilder cBuilder = new OleDbCommandBuilder(da);
DataTable dt = new DataTable();
da.Fill(dt);
BindingSource bSource = new BindingSource();
bSource.DataSource = dt;
dtGrdVw.DataSource = bSource;
とボタンのクリックイベントに私はコード
da.update(dt);
を持っている私の問題は、ボタンのクリックイベントがDataAdapter
を認識しないか、DataTable
'da'と' dt'のコンテキストに基づいて、それらはメソッドで作成されるため、そのスコープの外側には存在しません。初期化(おそらく)メソッドではなく、クラス内のオブジェクトを宣言すると、クラス内のすべてのオブジェクトにアクセスできます –
dtGrdVw.DataSource = nullを実行するまで、datagridviewは更新されません。コントロールのペイント方法が自動的に更新されることはありません。だからこそ、DGV Sourceをnullに設定し、次にデータテーブルに戻すことです。 – jdweng