DataGridView控件处于虚拟模式时无法添加行?

时间:2010-04-07 01:06:34

标签: c# winforms datagridview

当我尝试在虚拟模式下向DataGridView添加一个新行时,如下所示:

dataGridViewX1.Rows.Add(new string[] { "Parker", "Seattle" });

发生以下异常:

  

当操作无效时   DataGridView控件是虚拟的   模式?

3 个答案:

答案 0 :(得分:0)

DataGridView位于Virtual modeDataGridView.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属性中,并使用该属性所需的引用(使用适当的类型演员)。