private void Form1_Load(object sender, EventArgs e)
{
Template template1 = Template.CreateGridTemplate(7);
DynamicCellStyle dynamicCellStyle1 = new DynamicCellStyle();
dynamicCellStyle1.ConditionHandler += new DynamicCellStyleConditionHandler(GetNewRowDefaultCellStyle);
template1.Row.DefaultCellStyle = dynamicCellStyle1;
gcMultiRow1.Template = template1;
gcMultiRow1.RowCount = 10;
}
public CellStyle GetNewRowDefaultCellStyle(DynamicCellStyleContext context)
{
CellStyle newRowDefaultCellStyle = new CellStyle();
// If all cell's value in a specific row are empty, the cell's back color is white, otherwise color is yellow.
newRowDefaultCellStyle.BackColor = Color.White;
if (context.CellScope == CellScope.Row)
{
for (int i = 0; i < context.GcMultiRow.Rows[context.RowIndex].Cells.Count; i++)
{
object value = context.GcMultiRow.Rows[context.RowIndex][i].Value;
if (value != null)
{
newRowDefaultCellStyle.BackColor = Color.Yellow;
break;
}
}
}
return newRowDefaultCellStyle;
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim template1 As Template = Template.CreateGridTemplate(7)
Dim dynamicCellStyle1 As New DynamicCellStyle()
dynamicCellStyle1.ConditionHandler = AddressOf Me.GetNewRowDefaultCellStyle
template1.Row.DefaultCellStyle = dynamicCellStyle1
gcMultiRow1.Template = template1
gcMultiRow1.RowCount = 10
End Sub
Public Function GetNewRowDefaultCellStyle(ByVal context As DynamicCellStyleContext) As CellStyle
Dim newRowDefaultCellStyle As New CellStyle()
' If all cell's value in a specific row are empty, the cell's back color is white, otherwise color is yellow.
newRowDefaultCellStyle.BackColor = Color.White
If context.CellScope = CellScope.Row Then
For i As Integer = 0 To context.GcMultiRow.Rows(context.RowIndex).Cells.Count - 1
Dim value As Object = context.GcMultiRow.Rows(context.RowIndex)(i).Value
If value <> Nothing Then
newRowDefaultCellStyle.BackColor = Color.Yellow
Exit For
End If
Next
End If
Return newRowDefaultCellStyle
End Function