DataGridViewRowCollection.InsertCopy(Int32, Int32) メソッド


コレクション内の指定した位置に、指定した位置の行を基準に作成された行を追加します。Inserts a row into the collection at the specified position, based on the row at specified position.

 virtual void InsertCopy(int indexSource, int indexDestination);
public virtual void InsertCopy (int indexSource, int indexDestination);
abstract member InsertCopy : int * int -> unit
override this.InsertCopy : int * int -> unit
Public Overridable Sub InsertCopy (indexSource As Integer, indexDestination As Integer)



新しい行の基準となる行のインデックス。The index of the row on which to base the new row.


行を挿入する位置。The position at which to insert the row.


indexSource が 0 未満か、コレクションの行数 -1 を上回っています。indexSource is less than zero or greater than the number of rows in the collection minus one.

または-or- indexDestination が 0 未満か、コレクションに含まれる行数を上回っています。indexDestination is less than zero or greater than the number of rows in the collection.

関連付けられた DataGridView コントロールが次のいずれかのアクションを実行しているため、一時的に新しい行が追加できない状態にあります。The associated DataGridView control is performing one of the following actions that temporarily prevents new rows from being added: - コントロール内のすべてのセルを選択している。- Selecting all cells in the control.

- 選択範囲をクリアしている。- Clearing the selection.

または-or- このメソッドは、次のいずれかの DataGridView イベントのハンドラーから呼び出されています。This method is being called from a handler for one of the following DataGridView events:

- または --or- indexDestination はコレクション内の行数と等しく、また AllowUserToAddRowstrueです。indexDestination is equal to the number of rows in the collection and AllowUserToAddRows is true.

- または --or- この操作を実行すると、固定されていない行の後に固定された行が挿入されるか、または固定された行の前に固定されていない行が挿入されます。This operation would insert a frozen row after unfrozen rows or an unfrozen row before frozen rows.


このメソッドは、 indexDestinationパラメーターで指定されたインデックスを新しい行に割り当て、後続のすべての行のインデックスをインクリメントします。This method assigns the new row the index specified in the indexDestination parameter and increments the indexes for all subsequent rows. DataGridViewRow InheritedStyle新しいInheritedStyleDataGridViewRowプロパティは、にindexSource配置されているのと同じ値を持ちます。The InheritedStyle property of the new DataGridViewRow has the same values as the InheritedStyle of the DataGridViewRow positioned at indexSource. メソッドInsertCopyは、可能DataGridViewRowCollectionであれば、に共有行を追加します。The InsertCopy method adds a shared row to the DataGridViewRowCollection, if possible. それ以外の場合、新しい行は共有されません。Otherwise, the new row is unshared. 詳細については、「 Windows フォーム DataGridView コントロールを拡張するための推奨される手順」を参照してください。For more information, see Best Practices for Scaling the Windows Forms DataGridView Control.

新しい行が追加されると、コントロール内の行は自動的に並べ替えられません。Rows in the control are not automatically sorted when new rows are added. 新しい行を正しい位置に並べ替えるには、 DataGridView.Sort DataGridView.RowsAddedイベントハンドラーでメソッドを呼び出します。To sort new rows into their correct position, call the DataGridView.Sort method in a DataGridView.RowsAdded event handler. また、ユーザーがセルを変更DataGridView.SortしたときCellValueChangedに行を並べ替えるために、イベントハンドラーでメソッドを呼び出すこともできます。You might also want to call the DataGridView.Sort method in a CellValueChanged event handler to sort the rows when the user modifies a cell.