ダイナミック セルスタイルの作成
次のコードは、セルの背景色を1行ごとに変更します。
実行結果は次のようになります。
Imports GrapeCity.Win.MultiRow Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim DynamicCellStyle1 As New DynamicCellStyle() DynamicCellStyle1.ConditionHandler = New DynamicCellStyleConditionHandler(AddressOf MyCondition) Dim Template1 As Template = Template.Default Template1.Row.DefaultCellStyle = DynamicCellStyle1 GcMultiRow1.Template = Template1 GcMultiRow1.RowCount = 3 End Sub Private Function MyCondition(ByVal context As DynamicCellStyleContext) As CellStyle Dim CellStyle1 As New CellStyle ' 1行おきにセルの背景色を変更する If context.CellScope = CellScope.Row AndAlso (context.RowIndex Mod 2) = 0 Then CellStyle1.BackColor = Color.LightCyan Else CellStyle1.BackColor = Color.LightSalmon End If Return CellStyle1 End Function
using GrapeCity.Win.MultiRow; private void Form1_Load(object sender, EventArgs e) { DynamicCellStyle dynamicCellStyle1 = new DynamicCellStyle(); dynamicCellStyle1.ConditionHandler = new DynamicCellStyleConditionHandler(MyCondition); Template template1 = Template.Default; template1.Row.DefaultCellStyle = dynamicCellStyle1; gcMultiRow1.Template = template1; gcMultiRow1.RowCount = 3; } private CellStyle MyCondition(DynamicCellStyleContext context) { CellStyle cellStyle1 = new CellStyle(); // 1行おきにセルの背景色を変更する if (context.CellScope == CellScope.Row && (context.RowIndex % 2) == 0) { cellStyle1.BackColor = Color.LightCyan; } else { cellStyle1.BackColor = Color.LightSalmon; } return cellStyle1; }
実行結果は次のようになります。
![](images/userguide/ConditionalCellStyle_DynamicCellStyle_01.png)