我正在动态创建datagridview行,但无法弄清楚如何设置该行中单元格的颜色和只读状态,除非我在创建后专门遍历整个datagridview。
我想做的事情如下(非有效代码):
DataGridViewRow cata = catView.Rows.Add(new Object[] { item.catName,false, mLocalVersion, mServerVersion });
cata.Cells[1].ReadOnly = true;
答案 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属性。