4

更新が完了したら、datagridview 内のデータを自動的に更新する更新ボタンを作成しようとしています。

ただし、更新ボタンが機能していないようです。表示されるデータは、元のデータと同じままです。Windowsアプリを手動で終了して再構築した後にのみ更新されます。

これが私のコードです:

 private void button_refresh_Click(object sender, EventArgs e)
        {
            this.acuzioSecureStore_DatabaseXDataSet.AcceptChanges();
        }

手伝ってください。ありがとう^_^

4

6 に答える 6

4

これを処理する最も簡単な方法は、Binding Source オブジェクトを使用することです。

Access データベースから DataGridView に情報をロードする場合、データセットまたは DataTable にデータを格納する可能性が最も高くなります。

Binding Source オブジェクトを作成し、DataTable/Dataset にデータを入力したら、Binding Source のデータソースを DataTable に設定します。次に、DataGridView からのデータソースをバインディング ソース オブジェクトとして設定します。

これを行うと、datagridview の変更または DataTable への変更が確実に反映され、その逆も保証されます。データを DataTable にリロードすると、データ グリッドに自動的に反映されます。

DataTable dt = new DataTable();

BindingSource bs = new BindingSource();

bs.DataSource = dt;

dataGridView1.DataSource= bs;

すべての変更は自動的に行われます。

于 2013-01-17T08:54:17.960 に答える
0
private void button_refresh_Click(object sender, EventArgs e)
        {
            SqlConnection con=new SqlConnection(@"");
            string query="select * from abc";
            SqlCommand cmd=new SqlCommand(query,con);
            SqlDataAdapter da=new SqlDataadapter(cmd);
            DataTable dt=new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource=dt;
        }
于 2013-05-23T15:53:03.943 に答える
0

上記の解決策は良いですが、上記のコードを実行すると、テーブルが消えて見えなくなります。そして、私が実行すると

        da.Fill(ds, "p");
        dataGridView1.DataSource = ds.Tables["p"];

その後、テーブル全体が再度作成されます。

于 2013-01-26T01:10:25.240 に答える
0

これを試してみてください。私にとってはうまくいきました。より良いオプションがあれば教えてください。

private void button3_Click(object sender, EventArgs e)
{
    dataGridView1.Refresh();
}
于 2015-02-04T13:49:30.917 に答える