行のスタイルの設定
行のスタイルを設定する場合、Row.DefaultCellStyleプロパティを使用します。このプロパティを使用すると、行ごとに既定のスタイルを設定することができます。
GcMultiRow1.Rows(1).DefaultCellStyle.BackColor = Color.Yellow GcMultiRow1.Rows(2).DefaultCellStyle.BackColor = Color.Blue
gcMultiRow1.Rows[1].DefaultCellStyle.BackColor = Color.Yellow; gcMultiRow1.Rows[2].DefaultCellStyle.BackColor = Color.Blue;
セルのスタイルの設定
セルのスタイルを設定する場合、Cell.Styleプロパティを使用します。このプロパティを使用すると、セルごとにスタイルを設定することができます。Cell.Styleプロパティは、Row.DefaultCellStyleプロパティより適用される優先順位が高くなります。
GcMultiRow1.Rows(1).Cells(1).Style.BackColor = Color.Azure GcMultiRow1.Rows(1).Cells(2).Style.BackColor = Color.Lavender
gcMultiRow1.Rows[1].Cells[1].Style.BackColor = Color.Azure; gcMultiRow1.Rows[1].Cells[2].Style.BackColor = Color.Lavender;
行選択時に選択禁止、無効なセルも同じスタイルに設定する
セルの選択禁止やセルの無効表示が設定されている行を選択すると、選択禁止や無効表示のセルはハイライト表示されません。
選択禁止や無効表示のセルに対して、GcMultiRow.SelectionChangedイベントで、背景色、文字色を設定することで、他のセルと同じようにハイライト表示することができます。
選択禁止や無効表示のセルに対して、GcMultiRow.SelectionChangedイベントで、背景色、文字色を設定することで、他のセルと同じようにハイライト表示することができます。
Imports GrapeCity.Win.MultiRow Private Sub GcMultiRow1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GcMultiRow1.SelectionChanged Dim GcMultiRow1 As GcMultiRow = TryCast(sender, GcMultiRow) For r As Integer = 0 To GcMultiRow1.Rows.Count - 1 If GcMultiRow1.Rows(r).Selected Then ' 行が選択されている場合、選択禁止または無効なセルのスタイルを変更する For c As Integer = 0 To GcMultiRow1.Rows(r).Cells.Count - 1 If GcMultiRow1.Rows(r).Cells(c).Selectable = False Then GcMultiRow1.Rows(r).Cells(c).Style.BackColor = SystemColors.Highlight GcMultiRow1.Rows(r).Cells(c).Style.ForeColor = SystemColors.HighlightText End If If GcMultiRow1.Rows(r).Cells(c).Enabled = False Then GcMultiRow1.Rows(r).Cells(c).Style.DisabledBackColor = SystemColors.Highlight GcMultiRow1.Rows(r).Cells(c).Style.DisabledForeColor = SystemColors.HighlightText End If Next Else ' 行が選択されていない場合、選択禁止または無効なセルのスタイルを元に戻す For c As Integer = 0 To GcMultiRow1.Rows(r).Cells.Count - 1 If GcMultiRow1.Rows(r).Cells(c).Selectable = False Then GcMultiRow1.Rows(r).Cells(c).Style.BackColor = Color.Empty GcMultiRow1.Rows(r).Cells(c).Style.ForeColor = Color.Empty End If If GcMultiRow1.Rows(r).Cells(c).Enabled = False Then GcMultiRow1.Rows(r).Cells(c).Style.DisabledBackColor = Color.Empty GcMultiRow1.Rows(r).Cells(c).Style.DisabledForeColor = Color.Empty End If Next End If Next End Sub
using GrapeCity.Win.MultiRow; private void gcMultiRow1_SelectionChanged(object sender, EventArgs e) { GcMultiRow gcMultiRow = sender as GcMultiRow; for (int r = 0; r < gcMultiRow.Rows.Count; r++) { if (gcMultiRow.Rows[r].Selected) { // 行が選択されている場合、選択禁止または無効なセルのスタイルを変更する for (int c = 0; c < gcMultiRow1.Rows[r].Cells.Count; c++) { if (!gcMultiRow.Rows[r].Cells[c].Selectable) { gcMultiRow.Rows[r].Cells[c].Style.BackColor = SystemColors.Highlight; gcMultiRow.Rows[r].Cells[c].Style.ForeColor = SystemColors.HighlightText; } if( !gcMultiRow.Rows[r].Cells[c].Enabled) { gcMultiRow.Rows[r].Cells[c].Style.DisabledBackColor = SystemColors.Highlight; gcMultiRow.Rows[r].Cells[c].Style.DisabledForeColor = SystemColors.HighlightText; } } } else { // 行が選択されていない場合、選択禁止または無効なセルのスタイルを元に戻す for (int c = 0; c < gcMultiRow1.Rows[r].Cells.Count; c++) { if (!gcMultiRow.Rows[r].Cells[c].Selectable) { gcMultiRow.Rows[r].Cells[c].Style.BackColor = Color.Empty; gcMultiRow.Rows[r].Cells[c].Style.ForeColor = Color.Empty; } if (!gcMultiRow.Rows[r].Cells[c].Enabled) { gcMultiRow.Rows[r].Cells[c].Style.DisabledBackColor = Color.Empty; gcMultiRow.Rows[r].Cells[c].Style.DisabledForeColor = Color.Empty; } } } } }