当我尝试一个新的行中的虚拟模式添加到一个DataGridView这样的:DataGridView控件处于虚拟模式时无法添加行?
dataGridViewX1.Rows.Add(new string[] { "Parker", "Seattle" });
出现以下异常:当 DataGridView控件是在虚拟
操作无效模式?
当我尝试一个新的行中的虚拟模式添加到一个DataGridView这样的:DataGridView控件处于虚拟模式时无法添加行?
dataGridViewX1.Rows.Add(new string[] { "Parker", "Seattle" });
出现以下异常:当 DataGridView控件是在虚拟
操作无效模式?
当DataGridView
是Virtual mode(DataGridView.VirtualMode = true
),这意味着,DataGridView
的内容是从通过暴露在DataGridView
事件自身以外的来源提供。如果您打算让您的DataGridView是在虚拟模式下,您需要将新信息添加到底层源,然后告诉DataGridView
有另一行,像这样:
// add information to the underlying source
this.dataGridView.RowCount++;
如果您不打算在虚拟模式下使用DataGridView
,可以通过将DataGridView.VirtualMode
设置为false
来关闭虚拟模式。
您需要使用数据源来添加新行,它会自动显示在DataGridView中。
您可能已经完成了其他问题推荐的所有内容,但将YourDataGridView.DataSource设置为某处。
它一定不能被设置为虚拟,否则当您尝试设置RowCount时,您会收到类似的消息,并在您尝试添加时得到完全的消息。
如果您到目前为止“误用”了DataSource作为您的事件处理程序可用于解决数据源的“邮箱”实例变量,请考虑将其填充到Tag属性中,并使用您需要的该属性的引用使用适当的类型转换)。