在绘制后更改datagrid选定的行颜色

时间:2017-01-16 09:43:58

标签: c# datagrid

使用此代码在加载数据时绘制datagrid单元格以获取特殊记录。

foreach (DataColumn item in dt.Columns)
{
    FormattableTextBoxColumn tbcName = new FormattableTextBoxColumn();
    if (item.ColumnName == "S")
    {
       tbcName.Width = 40;
       tbcName.MappingName = item.ColumnName;
       tbcName.HeaderText = item.ColumnName;
       tbcName.SetCellFormat += new FormatCellEventHandler(ColumnSetCellFormat);
    }
    tableStyle.GridColumnStyles.Add(tbcName);
}
datagrid.TableStyles.Add(tableStyle);

然后使用以下代码突出显示单元格:

SolidBrush highlightBrush = new SolidBrush(Color.Yellow);
private void ColumnSetCellFormat(object sender, DataGridFormatCellEventArgs e)
{
    //Highlight color
    if (datagrid[e.Row, 0].ToString() == "M")
    {
        e.BackBrush = highlightBrush;
    }
}

现在问题是当我选择一行时,该行将突出显示蓝色。 但如果我选择涂有黄色的行,则表示蓝色不显示,黄色仍然存在,差异是字体颜色从黑色变为白色。

如果基色为黄色,如何更改选择行也会变为蓝色?

0 个答案:

没有答案