作成日: 2024/08/20 最終更新日: 2024/08/20
文書種別
使用方法
詳細
True DBGridに組み込まれている「名前付きスタイル」のうち、"Heading"と"RecordSelector"スタイルを用いて、列ヘッダおよびレコードセレクタの背景色を変更することができます。
なお名前付きスタイルには、グリッドの左上コーナーの領域に対応するものは用意されておりません。この部分の背景色を変更するには、該当する領域にLabelコントロールを配置し、その背景色を設定する方法が考えられます。
以下に、列ヘッダを水色に、レコードセレクタを黄緑色に、左上コーナーの領域を黄色に変更するコードを記載します。

◎サンプルコード(VB)
なお名前付きスタイルには、グリッドの左上コーナーの領域に対応するものは用意されておりません。この部分の背景色を変更するには、該当する領域にLabelコントロールを配置し、その背景色を設定する方法が考えられます。
以下に、列ヘッダを水色に、レコードセレクタを黄緑色に、左上コーナーの領域を黄色に変更するコードを記載します。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As New DataTable()
With dt
.Columns.AddRange({New DataColumn("A"), New DataColumn("B")})
For i = 0 To 9
.Rows.Add($"A{i}", $"B{i}")
Next
.AcceptChanges()
End With
C1TrueDBGrid1.DataSource = dt
' 列ヘッダおよびレコードセレクタの色設定
C1TrueDBGrid1.Styles("Heading").BackColor = Color.LightBlue
C1TrueDBGrid1.Styles("RecordSelector").BackColor = Color.LightGreen
' Labelコントロールを使った左上コーナー領域の背景色設定
Dim width = C1TrueDBGrid1.RecordSelectorWidth - 1
Dim height = C1TrueDBGrid1.Splits(0).ColumnCaptionHeight - 1
Dim cornerLabel As New Label With {
.Location = New Point(0, 0),
.Size = New Size(width, height),
.AutoSize = False,
.BackColor = Color.Yellow
}
C1TrueDBGrid1.Controls.Add(cornerLabel)
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// データの作成
var dt = new DataTable();
dt.Columns.AddRange(new[] { new DataColumn("A"), new DataColumn("B") });
for (int i = 0; i <= 9; i++)
dt.Rows.Add($"A{i}", $"B{i}");
dt.AcceptChanges();
c1TrueDBGrid1.DataSource = dt;
// 列ヘッダおよびレコードセレクタの色設定
c1TrueDBGrid1.Styles["Heading"].BackColor = Color.LightBlue;
c1TrueDBGrid1.Styles["RecordSelector"].BackColor = Color.LightGreen;
// Labelコントロールを使った左上コーナー領域の背景色設定
var width = c1TrueDBGrid1.RecordSelectorWidth - 1;
var height = c1TrueDBGrid1.Splits[0].ColumnCaptionHeight - 1;
var cornerLabel = new Label()
{
Location = new Point(0, 0),
Size = new Size(width, height),
AutoSize = false,
BackColor = Color.Yellow
};
c1TrueDBGrid1.Controls.Add(cornerLabel);
}