2

アクセスデータベースでデータが更新された後、データグリッドビューを更新するためにこのコードを使用しています。データは毎秒更新されます。このコードをバックグラウンドでループに保持しましたが、バックグラウンドを開始すると大きなXが表示されます。

  try
        {
            OleDbDataAdapter dAdapter;
            OleDbCommandBuilder cBuilder;
            DataTable dTable;
            BindingSource bSource = new BindingSource();
        dAdapter = new OleDbDataAdapter("Select * from data", cls_rt.con);

        //create a command builder
        cBuilder = new OleDbCommandBuilder(dAdapter);

        //create a DataTable to hold the query results
        dTable = new DataTable();

        //fill the DataTable
        dAdapter.Fill(dTable);


        //BindingSource to sync DataTable and DataGridView
        bSource = new BindingSource();

        //set the BindingSource DataSource
        bSource.DataSource = dTable;

        DataGridView.DataSource = dTable;
        }
        catch (Exception)
        {

        }

次に、このコードを使用しました

        try
        {
            this.dataTableAdapter.Fill(this.rTDataSet.data);
        }

これをループに保ちました

        dataDataGridView.Update();

それから

        dataDataGridView.Refresh();

それから

        dataDataGridView.RefreshEdit();

しかし、それは私にとってはうまくいきません

datagridviewを毎秒更新したいのですが、更新されたときにもう1つ、gridview全体を更新したくないのですが、特定のセルを更新したいだけです。

誰かが私を助けてくれるなら、彼らは大きな感謝になるでしょう。

前もって感謝します。

4

1 に答える 1

3

ほとんどすべてのデータグリッドビューの更新/値の更新は、同じ方法で送信されます..このように、dgv を「更新」する最も簡単な方法は、値を更新する必要があるときにこの行を配置することです

yourDataGridview.DataSource = yourDataRetrievingMethod  // in your situation your dataset and/or table
于 2012-06-18T09:16:10.817 に答える