使用DataGridView时,我想在每行的末尾添加一个名为“controls”的额外列。列中应该有两个按钮,名为“Discard”和“Detail”。
如下所示:
No Name State Controls
---- ------ ------ ------------------
1 AAA True [Discard][Detail]
2 BBB False [Discarded][Detail]
3 CCC True [Discard][Detail]
这里的关键点是,当“State”数据行为false时,“Discard”按钮Enabled属性应设置为False,标签更改为“Discarded”。
我只能按
添加列datagridView1.addColumn("ColumnControls", "Contorls");
但我不知道如何根据行数据添加按钮。
我正在使用VisualStudio 2005和SQLite。
答案 0 :(得分:1)
将DataGridViewButtonColumn
添加到DataGridView
。
DataGridViewButtonColumn discardColumn = new DataGridViewButtonColumn();
discardColumn.HeaderText="Controls";
discardColumn.Name="Discard";
datagridview1.Columns.Add(discardColumn);
在DataBindingComplete
事件处理程序中,添加以下代码
foreach(DataGridViewRow row in datagridview1.Rows)
{
row.Cells["Discard"].Text = "Discard";
if(row.Cells["State"].Value.ToString() == false)
{
row.Cells["Controls"].ReadOnly = true;
row.Cells["Controls"].Text="Discarded"
}
}
遵循“详细信息”列的类似逻辑。