【发布时间】:2013-05-02 04:30:32
【问题描述】:
我有一个 DataGridView,如链接“http://i.stack.imgur.com/DgwaD.png”所示。
标志列中图像的 OnCLick 我想在单击的行下方添加一个新行,其中只有 2 列“开始”、“结束”、“状态”和“标志”将为新添加的行隐藏。
DataGrid 填充如下:
CheckBox chkbox = new CheckBox();
chkbox.Text = "click";
//column 0
DataGridViewCheckBoxColumn checkcol = new DataGridViewCheckBoxColumn();
checkcol.HeaderText = "Select";
dataGridView1.Columns.Add(checkcol); // Want to hide on ImageClick event
//column 1
DataGridViewImageColumn imageCol = new DataGridViewImageColumn();
imageCol.HeaderText = "Package";
imageCol.Image = plus_img;
dataGridView1.Columns.Add(imageCol);
dataGridView1.Rows.Add();
//column 2
DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn();
col2.HeaderText = "Latest Update";
dataGridView1.Columns.Add(col2);
//column 3
DataGridViewTextBoxColumn col3 = new DataGridViewTextBoxColumn();
col3.HeaderText = "Installed Version";
dataGridView1.Columns.Add(col3);
//column 4
DataGridViewTextBoxColumn col4 = new DataGridViewTextBoxColumn();
col4.HeaderText = "Details";
dataGridView1.Columns.Add(col4);
使用 CellContentClick:
int col = e.ColumnIndex; // clicked column index
int row = e.RowIndex; // clicked row index
dataGridView1.Rows[row + 1].Cells[0].Visible = false;
我正在使用最后一行来隐藏下一行的第 0 列。但它给了我以下错误
“无法将属性或索引器‘System.Windows.Forms.DataGridViewCell.Visible’分配给——它是只读的”。当我检查网格和列的只读属性时,它设置为“false”。请帮我解决这个问题。
【问题讨论】:
-
如何在点击的行下方添加行?添加新行时可以简单地将 Flags 属性设置为空字符串吗?
-
我无法在单击的行下方添加行,它被添加到最后一个位置,并且我不知道 Flags 属性。
-
你能给我们看一些代码来说明如何填充 dataGridView1 吗?
-
这是示例代码吗?我看不到“开始”、“结束”、“状态”和“标志”。
-
这是原始代码。超链接中的网格是示例一。我需要隐藏“选择”列 onClick 事件。
标签: c# winforms datagridview