Xceed Grid for WinForms v4.3 Documentation
Xceed.Grid.v4.3 Assembly / Xceed.Grid Namespace / DetailGrid Class / AddingDataRow Event
Example


In This Topic
    AddingDataRow Event (DetailGrid)
    In This Topic
    Raised when a new data row is being added to the grid.
    Syntax
    'Declaration
     
    <DescriptionAttribute("Raised when a new data row is about to be added to the grid.")>
    <CategoryAttribute("Data")>
    Public Event AddingDataRow As AddingDataRowEventHandler
    'Usage
     
    Dim instance As DetailGrid
    Dim handler As AddingDataRowEventHandler
     
    AddHandler instance.AddingDataRow, handler
    [Description("Raised when a new data row is about to be added to the grid.")]
    [Category("Data")]
    public event AddingDataRowEventHandler AddingDataRow
    Event Data

    The event handler receives an argument of type AddingDataRowEventArgs containing data related to this event. The following AddingDataRowEventArgs properties provide information specific to this event.

    PropertyDescription
    Gets a reference to the DataRow object being built.  
    Remarks

    When bound to a data source, the AddingDataRow event is raised for each row found in the data source. When in unbound mode (providing data manually), it is raised once for each DataRow added using the Xceed.Grid.Collections.DataRowList.AddNew method afterEndEdit is called in order to provide data to each cell in the row.

    Example
    The following example demonstrates how to create a grid whose data is provided manually using the AddingDataRow event.
    ' Add the desired number of columns to the grid. 
    ' In the case, we will only add 4
    gridControl1.Columns.Add( New Column( "column1", GetType( Integer ) ) )
    gridControl1.Columns.Add( New Column( "column2", GetType( Integer ) ) )
    gridControl1.Columns.Add( New Column( "column3", GetType( Integer ) ) )
    gridControl1.Columns.Add( New Column( "column4", GetType( Integer ) ) )
    
     ' Subscribe to the AddingDataRow event
     AddHandler gridControl1.AddingDataRow, AddressOf Me.grid_AddingDataRow
    
    ' Add the desired number of DataRow objects to the grid's collection of datarows
    Dim i As Integer
    For i = 0 To 50
       gridControl1.DataRows.AddNew().EndEdit();
       
       ' AddNew will return a reference to a new DataRow object whose 
       ' cell values we can fill immediately, for the purposes of this
       ' example we will use the AddingDataRow event instead.
       '
       ' Xceed.Grid.DataRow row = gridControl1.DataRows.AddNew()
       ' row.Cells( 0 ).Value = 26
       ' row.Cells( 0 ).Value = 27
       ' row.Cells( 0 ).Value = 28
       ' row.Cells( 0 ).Value = 29
       ' row.EndEdit();
       ' etc...
     Next
         
     ' Private member variables that will be used to provide data to the grid.
     private m_random As new Random()
     
     ' This is the procedure that will handle the AddingDataRow event.
     Private Sub grid_AddingDataRow( ByVal sender As Object, ByVal e As AddingDataRowEventArgs )
        Dim cell As Cell
        
        Try
           For Each( cell in e.DataRow.Cells ) 
              cell.Value = m_random.Next( 0, 5000 )
           Next cell
        Catch exception As Exception
           MessageBox.Show( exception.ToString() )
        End Try   
    End Sub
    // Add the desired number of columns to the grid. 
    // In the case, we will only add 4
    gridControl1.Columns.Add( new Column( "column1", typeof( int ) ) );
    gridControl1.Columns.Add( new Column( "column2", typeof( int ) ) );
    gridControl1.Columns.Add( new Column( "column3", typeof( int ) ) );
    gridControl1.Columns.Add( new Column( "column4", typeof( int ) ) );
    
    // Subscribe to the AddingDataRow event
    gridControl1.AddingDataRow += new AddingDataRowEventHandler( grid_AddingDataRow );
    
    // Add the desired number of DataRow objects to the grid's collection of datarows
    for( int i = 0; i != 50; i++ )
    {
       gridControl1.DataRows.AddNew().EndEdit();
       
       // AddNew will return a reference to a new DataRow object whose 
       // cell values we can fill immediately, for the purposes of this
       // example we will use the AddingDataRow event instead.
       //
       // Xceed.Grid.DataRow row = gridControl1.DataRows.AddNew();
       // row.Cells[ 0 ].Value = 25;
       // row.Cells[ 1 ].Value = 26;
       // row.Cells[ 2 ].Value = 27;
       // row.Cells[ 3 ].Value = 28;
       // row.EndEdit();
       // etc...
    }
    
    // Private member variables that will be used to provide data to the grid.
    private Random m_random = new Random(); 
    
    // This is the procedure that will handle the AddingDataRow event.
    private void grid_AddingDataRow( object sender, AddingDataRowEventArgs e )
    {
       try
       {
          foreach( Cell cell in e.DataRow.Cells ) 
          {
             cell.Value = m_random.Next( 0, 5000 ); 
          }   
       }
       catch( Exception exception )
       {
          MessageBox.Show( exception.ToString() );
       }   
    }
    Requirements

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also