列数在DataTable和(数据绑定)DataGridview中不匹配

时间:2013-03-10 16:31:42

标签: c# .net winforms datagridview

我正在与DataGridViewDataTable合作很长时间。但是,即使我已将DataGridvVew设为DataTable,我也无法确定DatatableDataSource中有时(不是无处不在)列数不匹配的原因/方式我的DataGridView

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));

1 个答案:

答案 0 :(得分:2)

当我将 DataGridView 控件放入 TabControl 时,我遇到了同样的问题。

DataGridView 控件位于 TabControl 的第二个选项卡上,默认情况下它在启动时不显示,当我切换到第二个选项卡时,我在实现的 DataGridView_CellFormatting 事件中遇到了这个问题。

我从 Microsoft 找到了 this

“在显示标签页之前不会创建包含在 TabPage 中的控件,并且在显示标签页之前不会激活这些控件中的任何数据绑定。”

我通过向 Form_Load 事件添加以下代码行解决了我的问题:

export class SpellComponent implements OnInit {
  @Input() name: string;

  constructor(public element: ElementRef) {}

  ngOnInit() {}
}