'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.
Property | Description |
---|---|
DataRow | 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