DatGridView行 - 创建和格式化

时间:2016-06-21 14:43:38

标签: c# datagridview formatting

我正在动态创建datagridview行,但无法弄清楚如何设置该行中单元格的颜色和只读状态,除非我在创建后专门遍历整个datagridview。

我想做的事情如下(非有效代码):

DataGridViewRow cata = catView.Rows.Add(new Object[] { item.catName,false, mLocalVersion, mServerVersion });

cata.Cells[1].ReadOnly = true;

2 个答案:

答案 0 :(得分:0)

我认为您向DataGridView添加行的方式是正确的。试试这段代码,看看它是否符合您的要求:

DataGridViewRow cata = new DataGridViewRow();
cata.SetValues("item.catName", false, "mLocalVersion", "mServerVersion");
cata.Cells[1].ReadOnly = true;
catView.Rows.Add(cata);

答案 1 :(得分:0)

some cells[1] will be RO and others not

您可以使用RowsAdded事件。添加每一行时将调用此方法,并允许您根据需要评估其他单元格。

private void dgv2_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
    if (dgv2.Rows[e.RowIndex].Cells[1].Value.ToString() == "B")
    {
        dgv2.Rows[e.RowIndex].Cells[1].ReadOnly = true;
    }
}

如果确定单元格为RO的内容发生了变化(可能是另一个单元格的值),则还应在验证并保存更改时更改RO属性。