2

我有一个数据网格视图,我想在其中设置readonlytrue列。我想更改这些列的颜色。每当我离开单元格时,我只能让第一个单元格和当前单元格改变颜色。剩余的单元格不工作。谁能帮我这个?

4

4 回答 4

3

尝试

private void dataGridView2_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 0)
        if (dataGridView2[e.ColumnIndex, e.RowIndex].ReadOnly)
            e.CellStyle.BackColor = Color.Red;

    if (e.ColumnIndex == 1)
        if (dataGridView2[e.ColumnIndex, e.RowIndex].ReadOnly)
            e.CellStyle.BackColor = Color.Black;
}
于 2012-12-17T06:02:19.697 回答
2
    DataGridViewColumn dgv7col = dgv7.Columns[i];
    DataGridViewCell cell = new DataGridViewTextBoxCell();
    cell.Style.BackColor = Color.Wheat;
    dgv7col.CellTemplate = cell;

您必须定义列而不是单元格 Ronny

于 2014-06-24T10:13:37.040 回答
0

简单的:

if (grdView.Columns["Columnname"].ReadOnly) grdView.Columns["Columnname"].DefaultCellStyle.BackColor = Color.Lavender;

于 2016-07-01T11:12:40.687 回答
0
foreach (DataGridViewColumn col in dgv.Columns)
        if (col.ReadOnly) 
            col.DefaultCellStyle.BackColor = Color.Lavender;
于 2019-03-04T17:15:25.307 回答