作成日: 2021/02/02 最終更新日: 2025/03/07
文書種別
使用方法
詳細
タスクまたは行をクリックして行を選択したときに、グリッドビューおよびチャートビューで、その背景色をハイライト表示にするには、C1GanttViewのPaintDayイベントと各ビューで内部使用されているFlexGridコントロールを用います。
グリッドビューでは、FlexGridのSelectionModeを「Row」に設定することで、選択行がハイライト表示されます。
チャートビューでは、PaintDayEventArgsのTaskプロパティで描画するタスクを取得し、これがSelectedTaskである場合に、背景色をC1FlexGridのHighlight.BackColorに設定します。
(2025/03/07 追記)
背景色設定のためのBackColorプロパティは廃止されたため、代わりにPaintDayEventArgsのGraphics.FillRectangleメソッド※を使用してください。
※下記サンプルの「以下の方法では、土日の背景色は変更されません」で紹介している設定コードが該当します。
◎サンプルコード(VB)
グリッドビューでは、FlexGridのSelectionModeを「Row」に設定することで、選択行がハイライト表示されます。
チャートビューでは、PaintDayEventArgsのTaskプロパティで描画するタスクを取得し、これがSelectedTaskである場合に、背景色をC1FlexGridのHighlight.BackColorに設定します。
(2025/03/07 追記)
背景色設定のためのBackColorプロパティは廃止されたため、代わりにPaintDayEventArgsのGraphics.FillRectangleメソッド※を使用してください。
※下記サンプルの「以下の方法では、土日の背景色は変更されません」で紹介している設定コードが該当します。
◎サンプルコード(VB)
Imports C1.Win.C1FlexGrid
Private Sub C1GanttView1_PaintDay(sender As Object, e As PaintDayEventArgs) Handles C1GanttView1.PaintDay
' グリッドビューの背景色
Dim gridView As C1FlexGrid = CType(C1GanttView1.Controls(2), C1FlexGrid)
gridView.SelectionMode = SelectionModeEnum.Row
' チャートビューの背景色
Dim chartView As C1FlexGrid = CType(C1GanttView1.Controls(0), C1FlexGrid)
If e.Task Is C1GanttView1.SelectedTask Then
e.BackColor = chartView.Styles.Highlight.BackColor
'' 以下の方法では、土日の背景色は変更されません。
'e.Graphics.FillRectangle(New SolidBrush(chartView.Styles.Highlight.BackColor), e.Rectangle)
End If
End Sub
◎サンプルコード(C#) using C1.Win.C1FlexGrid;
private void c1GanttView1_PaintDay(object sender, PaintDayEventArgs e)
{
// グリッドビューの背景色
C1FlexGrid gridView = c1GanttView1.Controls[2] as C1FlexGrid;
gridView.SelectionMode =SelectionModeEnum.Row;
// チャートビューの背景色
C1FlexGrid chartView = c1GanttView1.Controls[0] as C1FlexGrid;
if (e.Task == c1GanttView1.SelectedTask)
{
e.BackColor = chartView.Styles.Highlight.BackColor;
//// 以下の方法では、土日の背景色は変更されません。
//e.Graphics.FillRectangle(new SolidBrush(chartView.Styles.Highlight.BackColor), e.Rectangle);
}
}
関連情報
旧文書番号
86381