DataGridViewRowCollection.Insert 方法

定义

向集合插入一行或多行。

重载

Insert(Int32, DataGridViewRow)

将指定的 DataGridViewRow 插入集合中。

Insert(Int32, Int32)

在集合的指定位置插入指定数量的行。

Insert(Int32, Object[])

在集合中的指定位置插入一行,并用指定的对象填充单元格。

Insert(Int32, DataGridViewRow)

将指定的 DataGridViewRow 插入集合中。

public:
 virtual void Insert(int rowIndex, System::Windows::Forms::DataGridViewRow ^ dataGridViewRow);
public virtual void Insert (int rowIndex, System.Windows.Forms.DataGridViewRow dataGridViewRow);
abstract member Insert : int * System.Windows.Forms.DataGridViewRow -> unit
override this.Insert : int * System.Windows.Forms.DataGridViewRow -> unit
Public Overridable Sub Insert (rowIndex As Integer, dataGridViewRow As DataGridViewRow)

参数

rowIndex
Int32

要插入行的位置。

dataGridViewRow
DataGridViewRow

要插入到 DataGridViewRowCollectionDataGridViewRow

例外

rowIndex 小于零或大于集合中的行数。

dataGridViewRownull

关联的 DataGridView 控件正在执行以下操作之一,该操作暂时禁止添加新行:

  • 选择控件中的所有单元格。

  • 清除所选内容。

- 或 -

正在从以下 DataGridView 事件之一的处理程序调用此方法:

- 或 -

DataGridViewDataSource 属性不是 null

- 或 -

rowIndex 等于集合中的行数,并且 DataGridViewAllowUserToAddRows 属性设置为 true

- 或 -

DataGridView 没有列。

- 或 -

dataGridViewRowDataGridView 属性不是 null

- 或 -

dataGridViewRow 具有 trueSelected 属性值。

- 或 -

此操作将在未冻结的行之后插入一个冻结的行,或在冻结的行之前插入一个未冻结的行。

dataGridViewRow 包含的单元格比控件中的列多。

注解

如果 Insert(Int32, DataGridViewRow) 可能, 方法将共享行添加到 DataGridViewRowCollection。 否则,新行是非共享的。 有关详细信息,请参阅 缩放 Windows 窗体 DataGridView 控件的最佳做法

添加新行时,控件中的行不会自动排序。 若要将新行排序到正确的位置,请在事件处理程序中DataGridView.RowsAdded调用 DataGridView.Sort 方法。 用户修改单元格时,可能还需要在事件处理程序中CellValueChanged调用 DataGridView.Sort 方法来对行进行排序。

另请参阅

适用于

Insert(Int32, Int32)

在集合的指定位置插入指定数量的行。

public:
 virtual void Insert(int rowIndex, int count);
public virtual void Insert (int rowIndex, int count);
abstract member Insert : int * int -> unit
override this.Insert : int * int -> unit
Public Overridable Sub Insert (rowIndex As Integer, count As Integer)

参数

rowIndex
Int32

要插入行的位置。

count
Int32

要在 DataGridViewRowCollection 中插入的行数。

例外

rowIndex 小于零或大于集合中的行数。

- 或 -

count 小于 1。

关联的 DataGridView 控件正在执行以下操作之一,该操作暂时禁止添加新行:

  • 选择控件中的所有单元格。

  • 清除所选内容。

- 或 -

正在从以下 DataGridView 事件之一的处理程序调用此方法:

- 或 -

DataGridViewDataSource 属性不是 null

- 或 -

DataGridView 没有列。

- 或 -

rowIndex 等于集合中的行数,并且 DataGridViewAllowUserToAddRows 属性设置为 true

- 或 -

RowTemplate 属性返回的行包含的单元格比控件中的列多。

- 或 -

此操作将在未冻结的行之后插入一个冻结的行,或在冻结的行之前插入一个未冻结的行。

注解

方法 Insert(Int32, Int32) 添加基于 RowTemplate 的 的 DataGridView行。 如果可能,将共享新行。 确保可以共享 属性中指定的 RowTemplate 行,以获得最佳可伸缩性。 有关详细信息,请参阅 缩放 Windows 窗体 DataGridView 控件的最佳做法

添加新行时,控件中的行不会自动排序。 若要将新行排序到正确的位置,请在事件处理程序中DataGridView.RowsAdded调用 DataGridView.Sort 方法。 用户修改单元格时,可能还需要在事件处理程序中CellValueChanged调用 DataGridView.Sort 方法来对行进行排序。

另请参阅

适用于

Insert(Int32, Object[])

在集合中的指定位置插入一行,并用指定的对象填充单元格。

public:
 virtual void Insert(int rowIndex, ... cli::array <System::Object ^> ^ values);
public virtual void Insert (int rowIndex, params object[] values);
abstract member Insert : int * obj[] -> unit
override this.Insert : int * obj[] -> unit
Public Overridable Sub Insert (rowIndex As Integer, ParamArray values As Object())

参数

rowIndex
Int32

要插入行的位置。

values
Object[]

用于填充新行的单元格的对象变量数。

例外

rowIndex 小于零或大于集合中的行数。

valuesnull

关联的 DataGridView 控件正在执行以下操作之一,该操作暂时禁止添加新行:

  • 选择控件中的所有单元格。

  • 清除所选内容。

- 或 -

正在从以下 DataGridView 事件之一的处理程序调用此方法:

- 或 -

DataGridViewVirtualMode 属性设置为 true

- 或 -

DataGridViewDataSource 属性不是 null

- 或 -

DataGridView 没有列。

- 或 -

rowIndex 等于集合中的行数,并且 DataGridViewAllowUserToAddRows 属性设置为 true

- 或 -

由控件的 RowTemplate 属性返回的行的 DataGridView 属性不是 null

- 或 -

此操作将在未冻结的行之后插入一个冻结的行,或在冻结的行之前插入一个未冻结的行。

控件的 RowTemplate 属性返回的行包含的单元格比控件中的列多。

注解

方法Insert(Int32, Object[])将非共享行添加到 。DataGridViewRowCollection

添加新行时,控件中的行不会自动排序。 若要将新行排序到正确的位置,请在事件处理程序中DataGridView.RowsAdded调用 DataGridView.Sort 方法。 用户修改单元格时,可能还需要在事件处理程序中CellValueChanged调用 DataGridView.Sort 方法来对行进行排序。

另请参阅

适用于