DataGridView.DefaultValuesNeeded DataGridView.DefaultValuesNeeded DataGridView.DefaultValuesNeeded DataGridView.DefaultValuesNeeded Event


行が既定値を伴って作成されるように、ユーザーが新しいレコードに対して行を挿入したときに発生します。Occurs when the user enters the row for new records so that it can be populated with default values.

 event System::Windows::Forms::DataGridViewRowEventHandler ^ DefaultValuesNeeded;
public event System.Windows.Forms.DataGridViewRowEventHandler DefaultValuesNeeded;
member this.DefaultValuesNeeded : System.Windows.Forms.DataGridViewRowEventHandler 
Public Custom Event DefaultValuesNeeded As DataGridViewRowEventHandler 

このイベントを処理する方法を次のコード例に示します。The following code example illustrates how this event can be handled. この例では、指定された列のセルに既定値が設定されています。In the example, cells for the given columns are populated with default values. CustomerID列の場合、一意の顧客 ID を生成する別のメソッド (実装されていない) から値が取得されます。For the CustomerID column, the value is retrieved from a separate method (not implemented) that generates a unique customer ID.

この例を実行するには、列名を実際DataGridViewのコントロールの列オブジェクトの名前に置き換え、適切な既定値を指定します。To run this example, replace the column names with the names of the column objects from an actual DataGridView control and provide appropriate default values. 名前で列を指定する場合は、列ヘッダーテキストではなく、列オブジェクトの名前を使用する必要があります。When specifying columns by name, you must use the name of the column object and not the column header text.

private void dataGridView1_DefaultValuesNeeded(object sender,
    System.Windows.Forms.DataGridViewRowEventArgs e)
    e.Row.Cells["Region"].Value = "WA";
    e.Row.Cells["City"].Value = "Redmond";
    e.Row.Cells["PostalCode"].Value = "98052-6399";
    e.Row.Cells["Country"].Value = "USA";
    e.Row.Cells["CustomerID"].Value = NewCustomerId();
Private Sub dataGridView1_DefaultValuesNeeded(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DataGridViewRowEventArgs) _
    Handles dataGridView1.DefaultValuesNeeded

    With e.Row
        .Cells("Region").Value = "WA"
        .Cells("City").Value = "Redmond"
        .Cells("PostalCode").Value = "98052-6399"
        .Cells("Country").Value = "USA"
        .Cells("CustomerID").Value = NewCustomerId()
    End With

End Sub


このイベントを使用すると、ユーザーが行を入力したときに、新しいレコードの行を設定できます。This event lets you populate the row for new records when the user enters the row. 行の初期値は、 DefaultNewRowValue DataGridViewCell各列のCellTemplateプロパティによって返されるのプロパティから取得されます。Initial values for the row come from the DefaultNewRowValue property of the DataGridViewCell returned by each column's CellTemplate property.

データバインドモードでは、データバインドされた列のすべてのセル値が外部データソースに格納されます。In data bound mode, all cell values for data bound columns are stored in the external data source. ユーザーが新しいレコードの行を入力すると、 DefaultValuesNeededイベントが発生する前に、データソースに新しい行が作成されます。When the user enters the row for new records, a new row is created in the data source before the DefaultValuesNeeded event occurs. イベントハンドラーのDataGridViewRowEventArgs.Rowプロパティに値を設定すると、値がデータソースに直接追加されます。When you populate the DataGridViewRowEventArgs.Row property in your event handler, the values are added directly to the data source.

仮想モードでは、このイベントが発生CellValuePushedした後、カスタムデータストアに既定値を格納できるように、新しい行の各セルに対してイベントが発生します。In virtual mode, after this event occurs, the CellValuePushed event occurs for each cell in the new row so that you can store the default values in your custom data store. 次に、 CellValueNeeded新しい行の各セルに対してイベントが発生し、 CellValuePushedイベントに格納された値が取得されます。この値が表示されます。Then, the CellValueNeeded event occurs for each cell in the new row, retrieving the values that you stored in the CellValuePushed event, which are then displayed.

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。For more information about how to handle events, see Handling and Raising Events.