我正在与DataGridView
和DataTable
合作很长时间。但是,即使我已将DataGridvVew
设为DataTable
,我也无法确定Datatable
和DataSource
中有时(不是无处不在)列数不匹配的原因/方式我的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));
答案 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() {}
}