Gets/sets the minimum number of rows allowed in the band. This value is inclusive. The default is 0. If an attempt is made to delete rows from a band and the remaining number of rows would be less than MinRows, the rows are not deleted and the
UltraGrid.Error event will fire.
This snippet demonstrates how the number of rows allowed in a Band can be restricted. It also demonstrates how to inform the users when they attempt to delete too many rows.
Private Sub SetupGrid()
' Make sure that the user can add and delete rows from the grid.
'
Me.ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.TemplateOnBottom
Me.ultraGrid1.DisplayLayout.Override.AllowDelete = DefaultableBoolean.True
' Make sure that the row selectors are displayed so that it is easy to delete rows.
'
Me.ultraGrid1.DisplayLayout.Override.RowSelectors = DefaultableBoolean.True
' Set the "EmergencyContacts" band to require that each row collection have between 1 and 3 rows.
'
Me.ultraGrid1.DisplayLayout.Bands("EmergencyContacts").MinRows = 1
Me.ultraGrid1.DisplayLayout.Bands("EmergencyContacts").MaxRows = 3
End Sub
Private Sub ultraGrid1_Error(sender As Object, e As Infragistics.Win.UltraWinGrid.ErrorEventArgs) Handles Me.ultraGrid1.Error
' If the source of the error is 'RowDelete' and the Exception property is Nothing then the reason
' that this event fired was due to an attempt to violate the MinRows constraint. The Exception
' property will be Nothing in this situation because no exception was thrown to cause this error,
' but the grid's internal logic detected the error. If the Exception property was not Nothing then
' that would indicate that data source threw an exception when the row was being deleted.
'
If e.DataErrorInfo.Source = DataErrorSource.RowDelete And e.DataErrorInfo.Exception Is Nothing Then
MessageBox.Show("Each employee must have at least one emergency contact.", "Cannot Delete All Rows", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
'Declaration
Public Property MinRows As Integer
private void SetupGrid()
{
// Make sure that the user can add and delete rows from the grid.
//
this.ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
this.ultraGrid1.DisplayLayout.Override.AllowDelete = DefaultableBoolean.True;
// Make sure that the row selectors are displayed so that it is easy to delete rows.
//
this.ultraGrid1.DisplayLayout.Override.RowSelectors = DefaultableBoolean.True;
// Set the "EmergencyContacts" band to require that each row collection have between 1 and 3 rows.
//
this.ultraGrid1.DisplayLayout.Bands["EmergencyContacts"].MinRows = 1;
this.ultraGrid1.DisplayLayout.Bands["EmergencyContacts"].MaxRows = 3;
}
private void ultraGrid1_Error(object sender, Infragistics.Win.UltraWinGrid.ErrorEventArgs e)
{
// If the source of the error is 'RowDelete' and the Exception property is null then the reason
// that this event fired was due to an attempt to violate the MinRows constraint. The Exception
// property will be null in this situation because no exception was thrown to cause this error,
// but the grid's internal logic detected the error. If the Exception property was not null then
// that would indicate that data source threw an exception when the row was being deleted.
//
if( e.DataErrorInfo.Source == DataErrorSource.RowDelete && e.DataErrorInfo.Exception == null )
{
MessageBox.Show(
"Each employee must have at least one emergency contact.",
"Cannot Delete All Rows",
MessageBoxButtons.OK,
MessageBoxIcon.Information );
}
}
'Declaration
Public Property MinRows As Integer
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, 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