当我尝试在虚拟模式下向DataGridView添加一个新行时,如下所示:
dataGridViewX1.Rows.Add(new string[] { "Parker", "Seattle" });
发生以下异常:
当操作无效时 DataGridView控件是虚拟的 模式?
答案 0 :(得分:0)
当DataGridView
位于Virtual mode(DataGridView.VirtualMode = true
)时,这意味着DataGridView
的内容是通过其上公开的事件从其他来源提供的。 DataGridView
。如果您打算让DataGridView处于虚拟模式,则需要将新信息添加到基础源,然后告诉DataGridView
还有另一行,如下所示:
// add information to the underlying source
this.dataGridView.RowCount++;
如果您不打算在虚拟模式下使用DataGridView
,可以将DataGridView.VirtualMode
设置为false
来关闭虚拟模式。
答案 1 :(得分:0)
您需要使用数据源添加新行,它将自动显示在DataGridView中。
答案 2 :(得分:0)
您可能已经完成了其他问题所推荐的所有内容,但将YourDataGridView.DataSource设置为某个地方。
不能设置为虚拟,否则当您尝试设置RowCount时会收到类似的消息,并在您尝试添加时获得完全相同的消息。
如果您之前“误用”DataSource作为事件处理程序可用于处理数据源的“邮箱”实例变量,请考虑将其填充到Tag属性中,并使用该属性所需的引用(使用适当的类型演员)。