0

私はDataGridViewと とDataTable長い間仕事をしてきました。しかし、なぜ/どのように(どこにでもあるわけではない)列数が一致しないかを特定できDataGridvVewませんでしDataTableた。DatatableDataSourceDataGridView

myGrid.DataSource = myTable;
myGrid.Refresh();
MessageBox.Show(myTable.Columns.Count+"--"+myGrid.Columns.Count);// shows 5--0

編集:(最初のコメントへの回答で)ここで私のDataTableは次のように作成されています

DataTable myTable = new DataTable();
myTable.Columns.Add("Col1", typeof(int));
myTable.Columns.Add("Col2", typeof(string));
myTable.Columns.Add("Col3", typeof(string));
4

1 に答える 1

2

DataGridView コントロールを TabControl に配置すると、同じ問題が発生しました。

DataGridView コントロールは TabControl の 2 番目のタブにあり、デフォルトでは起動時に表示されず、2 番目のタブに切り替えると、実装された DataGridView_CellFormatting イベントで問題が発生しました。

私はマイクロソフトからこれを見つけました:

「TabPage に含まれるコントロールは、タブ ページが表示されるまで作成されず、これらのコントロールのデータ バインディングは、タブ ページが表示されるまでアクティブになりません。」

Form_Load イベントに次のコード行を追加して、問題を修正しました。

tabControl1.SelectTab(1); //Selects the second tab
于 2021-08-02T19:44:48.697 に答える