DataGridViewRowsAddedEventArgs クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


RowsAdded イベントは、DataGridView コントロールに行が追加されたときに発生します。ユーザーが新しいレコード用の行を使用して新しい行を追加すると、このイベントのハンドラ内の RowIndex の値は、新しいレコード用の行の新しい位置を表すインデックスと同じになります。つまり、追加された行のインデックスよりも 1 つ大きい値です。しかし、プログラム上で行を追加すると、RowIndex の値は追加された最初の行のインデックスになります。

RowsAdded イベントを処理して、仮想 DataGridView の行数をインクリメントするコード例を次に示します。この行数は、CellValueNeeded のハンドラで、空白のセルまたは新しい行用に初期化されたセルを表示する時期を検知するために使用されます。この例は VirtualMode のレファレンス トピックで取り上げている例の一部分です。
Dim newRowNeeded As Boolean Private Sub dataGridView1_NewRowNeeded(ByVal sender As Object, _ ByVal e As DataGridViewRowEventArgs) _ Handles dataGridView1.NewRowNeeded newRowNeeded = True End Sub Const initialSize As Integer = 5000000 Dim numberOfRows As Integer = initialSize Private Sub dataGridView1_RowsAdded(ByVal sender As Object, _ ByVal e As DataGridViewRowsAddedEventArgs) _ Handles dataGridView1.RowsAdded If newRowNeeded Then newRowNeeded = False numberOfRows = numberOfRows + 1 End If End Sub #Region "data store maintance" Const initialValue As Integer = -1 Private Sub dataGridView1_CellValueNeeded(ByVal sender As Object, _ ByVal e As DataGridViewCellValueEventArgs) _ Handles dataGridView1.CellValueNeeded If store.ContainsKey(e.RowIndex) Then ' Use the store if the e value has been modified ' and stored. e.Value = store(e.RowIndex) ElseIf newRowNeeded AndAlso e.RowIndex = numberOfRows Then If dataGridView1.IsCurrentCellInEditMode Then e.Value = initialValue Else ' Show a blank value if the cursor is just resting ' on the last row. e.Value = String.Empty End If Else e.Value = e.RowIndex End If End Sub Private Sub dataGridView1_CellValuePushed(ByVal sender As Object, _ ByVal e As DataGridViewCellValueEventArgs) _ Handles dataGridView1.CellValuePushed store.Add(e.RowIndex, CInt(e.Value)) End Sub #End Region Dim store As System.Collections.Generic.Dictionary(Of Integer, Integer) = _ New Dictionary(Of Integer, Integer)
bool newRowNeeded; private void dataGridView1_NewRowNeeded(object sender, DataGridViewRowEventArgs e) { newRowNeeded = true; } const int initialSize = 5000000; int numberOfRows = initialSize; private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) { if (newRowNeeded) { newRowNeeded = false; numberOfRows = numberOfRows + 1; } } #region "data store maintance" const int initialValue = -1; private void dataGridView1_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { if (store.ContainsKey(e.RowIndex)) { // Use the store if the e value has been modified // and stored. e.Value = store[e.RowIndex]; } else if (newRowNeeded && e.RowIndex == numberOfRows) { if (dataGridView1.IsCurrentCellInEditMode) { e.Value = initialValue; } else { // Show a blank value if the cursor is just resting // on the last row. e.Value = String.Empty; } } else { e.Value = e.RowIndex; } } private void dataGridView1_CellValuePushed(object sender, DataGridViewCellValueEventArgs e) { store.Add(e.RowIndex, int.Parse(e.Value.ToString())); } #endregion private Dictionary<int, int> store = new Dictionary<int, int>();
void VirtualConnector::dataGridView1_NewRowNeeded (Object^ sender, DataGridViewRowEventArgs^ e) { newRowNeeded = true; } void VirtualConnector::dataGridView1_RowsAdded (Object^ sender, DataGridViewRowsAddedEventArgs^ e) { if (newRowNeeded) { newRowNeeded = false; numberOfRows = numberOfRows + 1; } } #pragma region Data store maintance void VirtualConnector::dataGridView1_CellValueNeeded (Object^ sender, DataGridViewCellValueEventArgs^ e) { if (store->ContainsKey(e->RowIndex)) { // Use the store if the e value has been modified // and stored. e->Value = gcnew Int32(store->default[e->RowIndex]); } else if (newRowNeeded && e->RowIndex == numberOfRows) { if (dataGridView1->IsCurrentCellInEditMode) { e->Value = initialValue; } else { // Show a blank e if the cursor is just loitering // over(the) last row. e->Value = String::Empty; } } else { e->Value = e->RowIndex; } } void VirtualConnector::dataGridView1_CellValuePushed (Object^ sender, DataGridViewCellValueEventArgs^ e) { String^ value = e->Value->ToString(); store[e->RowIndex] = Int32::Parse(value, CultureInfo::CurrentCulture); } #pragma endregion
private boolean newRowNeeded; private void dataGridView1_NewRowNeeded(Object sender, DataGridViewRowEventArgs e) { newRowNeeded = true; } //dataGridView1_NewRowNeeded private final int INITIALSIZE = 5000000; private int numberOfRows = INITIALSIZE; private void dataGridView1_RowsAdded(Object sender, DataGridViewRowsAddedEventArgs e) { if (newRowNeeded) { newRowNeeded = false; numberOfRows = numberOfRows + 1; } } //dataGridView1_RowsAdded #region "data store maintance" private final int INITIALVALUE = -1; private void dataGridView1_CellValueNeeded(Object sender, DataGridViewCellValueEventArgs e) { if (store.ContainsKey(e.get_RowIndex())) { // Use the store if the e value has been modified // and stored. e.set_Value((Int32)store.get_Item(e.get_RowIndex())); } else { if (newRowNeeded && e.get_RowIndex() == numberOfRows) { if (dataGridView1.get_IsCurrentCellInEditMode()) { e.set_Value((Int32)INITIALVALUE); } else { // Show a blank e if the cursor is just loitering // over(the) // last row. e.set_Value(""); } } else { e.set_Value((Int32)e.get_RowIndex()); } } } //dataGridView1_CellValueNeeded private void dataGridView1_CellValuePushed(Object sender, DataGridViewCellValueEventArgs e) { store.Add(e.get_RowIndex(), Int32.Parse(e.get_Value().ToString())); } //dataGridView1_CellValuePushed #endregion private Dictionary<int, int> store = new Dictionary<int, int>();

System.EventArgs
System.Windows.Forms.DataGridViewRowsAddedEventArgs


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataGridViewRowsAddedEventArgs コンストラクタ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim rowIndex As Integer Dim rowCount As Integer Dim instance As New DataGridViewRowsAddedEventArgs(rowIndex, rowCount)

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataGridViewRowsAddedEventArgs プロパティ
DataGridViewRowsAddedEventArgs メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

DataGridViewRowsAddedEventArgs メンバ
DataGridViewRowsAddedEventArgs データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- DataGridViewRowsAddedEventArgsのページへのリンク