How to make the cells ReadOnly in WinForms GridGroupingControl?
Make the cells into readonly
In WinForms GridGroupingControl,
you can make the cell read-only by setting the ReadOnly Property
in the Grid model or by using the QueryCellStyleInfo Event.
By using GridModel
C#
// Column can be index or column MappingName
gridGroupingControl1.TableDescriptor.Columns[Column].Appearance.AnyRecordFieldCell.ReadOnly = true;
' Column can be index or column MappingName
gridGroupingControl1.TableDescriptor.Columns(Column).Appearance.AnyRecordFieldCell.ReadOnly = True
C#
void gridGroupingControl1_QueryCellStyleInfo(object sender, Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventArgs e)
{
// The cell is set to be Readonly
if (e.TableCellIdentity.RowIndex == 6 && e.TableCellIdentity.ColIndex == 3)
{
e.Style.BackColor = Color.Yellow;
e.Style.ReadOnly = true;
}
// The row is set to be Readonly
if (e.TableCellIdentity.RowIndex == 4)
{
e.Style.BackColor = Color.LightGray;
e.Style.ReadOnly = true;
}
// The Column is set to be Readonly using index
if (e.TableCellIdentity.ColIndex == 4)
{
e.Style.BackColor = Color.Aqua;
e.Style.ReadOnly = true;
}
// The Column is set to be Readonly using Column MappingName
if (e.TableCellIdentity.Column != null)
{
if (e.TableCellIdentity.Column.Name == "City")
{
e.Style.BackColor = Color.Aqua;
e.Style.ReadOnly = true;
}
}
//Range of cell is set to be Readonly
if ((e.TableCellIdentity.RowIndex == 7 || e.TableCellIdentity.RowIndex == 8) && (e.TableCellIdentity.ColIndex == 1 || e.TableCellIdentity.ColIndex == 2))
{
e.Style.BackColor = Color.LightPink;
e.Style.ReadOnly = true;
}
}
VB
Private Sub gridGroupingControl1_QueryCellStyleInfo(ByVal sender As Object, ByVal e As Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoEventArgs)
' The cell is set to be Readonly
If e.TableCellIdentity.RowIndex = 6 AndAlso e.TableCellIdentity.ColIndex = 3 Then
e.Style.BackColor = Color.Yellow
e.Style.ReadOnly = True
End If
' The row is set to be Readonly
If e.TableCellIdentity.RowIndex = 4 Then
e.Style.BackColor = Color.LightGray
e.Style.ReadOnly = True
End If
' The Column is set to be Readonly using index
If e.TableCellIdentity.ColIndex = 4 Then
e.Style.BackColor = Color.Aqua
e.Style.ReadOnly = True
End If
' The Column is set to be Readonly using Column MappingName
If e.TableCellIdentity.Column IsNot Nothing Then
If e.TableCellIdentity.Column.Name = "City" Then
e.Style.BackColor = Color.Aqua
e.Style.ReadOnly = True
End If
End If
'Range of cell is set to be Readonly
If (e.TableCellIdentity.RowIndex = 7 OrElse e.TableCellIdentity.RowIndex = 8) AndAlso (e.TableCellIdentity.ColIndex = 1 OrElse e.TableCellIdentity.ColIndex = 2) Then
e.Style.BackColor = Color.LightPink
e.Style.ReadOnly = True
End If
End Sub
The following screenshot displays the grid after applying the properties.
Figure 1: Make the cells into ReadOnly
The read-only cells are shown in different colors.
Samples:
C#: Read-Only Cell
VB: Read-Only Cell
Conclusion
I hope you enjoyed learning about how to make the cells ReadOnly in GridGroupingControl.
You can refer to our WinForms GridGroupingControl feature tour page to know about its other groundbreaking feature representations. You can also explore our WinForms GridGroupingControl documentation to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!