根据某些内容突出显示datagridview c#中的特定行

时间:2013-03-15 15:58:58

标签: c#

我正在使用visual studio中的桌面应用程序。我希望我的datagridview突出显示某些单元格的值不在特定范围内的行。例如,如果我向行的列X输入一个值,并且值不在5到8之间,我希望该行以另一种颜色显示为红色。

请有人知道该怎么做??

2 个答案:

答案 0 :(得分:0)

我知道vb.net所以语法会有所不同,但看起来会像这样

            For i As Integer = 0 To datagrid.Attributes.Count - 1

                If somecondtion Then
                    datagrid.Columns.Item(i).CellStyle.BackColor = Color.somecolor
                Else
                    datagrid.Columns.Item(i).CellStyle.BackColor = Color.othercolor
                End If
            Next

答案 1 :(得分:0)

        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex == -1) return;

        int CellValue;
        if (int.TryParse(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(),out CellValue))
        {
            if (CellValue < 5 && CellValue > 8)
            {
                dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = new DataGridViewCellStyle() { ForeColor = Color.Red };
            }


        }

使用该事件查看更改的单元格,并通过CellSytle类操作布局。