0

ContextMenu コントロール内に DataGridView があります。以下のコード スニペットを参照してください。

private void Form1_Load(object sender, EventArgs e)
        {
            SetDataSource(dataSet1);// A populated DataSet
        }

protected void SetDataSource(DataSet ds)
        {
            dataGridView1.DataSource = ds;
            ToolStripControlHost tsHost = new ToolStripControlHost(dataGridView1);
            contextMenuStrip1.Items.Clear();
            contextMenuStrip1.Items.Add(tsHost);
            contextMenuStrip1.Show(textBox1, 0, 27);
        }

 private void button1_Click(object sender, EventArgs e)
        {
            SetDataSource(dataSet2);// Another populated DataSet
        }

ここで何が起こるかというと、フォームが開くと、contextMenu が表示され、dataSet1 の値で DataGridView が表示されます。しかし、ボタンをクリックしてグリッドの DataSource を変更すると、dataSet2 のレコードが表示されません。これを修正する方法を教えてください...ありがとう...

4

2 に答える 2

0

すでにここで答えました。

于 2010-11-21T01:28:22.430 に答える
0

DGV の DataSource を BindingSource オブジェクトに設定し、代わりに BindingSource の DataSource を変更してみてください。BindingSource が自動的に更新されない場合は、CurrencyManager.Refresh() を呼び出して強制的に更新できます。

于 2010-08-13T07:53:32.723 に答える