我有一个带有5(0-5)列的datagridview。我从创建的哈希表中检索的所有行值。 现在我设置了一个条件,表明第4列是否包含哈希表中的空值,然后在第4列旁边添加新列,这使得新添加的列索引位于第5位,之前第5列的哈希表值更改为第7列。 / p>
我这样做了代码:
int number = dataGridView1.Rows.Add();
dataGridView1.Rows[number].Cells[0].Value = result; //id
dataGridView1.Rows[number].Cells[1].Value = newAddress; //ip
dataGridView1.Rows[number].Cells[2].Value = (string)((Hashtable)ht[1])["value"]; //name
dataGridView1.Rows[number].Cells[3].Value = (string)((Hashtable)ht[2])["value"]; //description
if (!ht.ContainsValue(3))
{
// Create a Save button column
DataGridViewImageButtonSaveColumn columnSave = new DataGridViewImageButtonSaveColumn();
// Set column values
columnSave.Name = "SaveButton";
columnSave.HeaderText = "";
//Add the columns to the grid
dataGridView1.Rows[number].Cells[4].ReadOnly = false;
dataGridView1.Columns[5].Add(columnSave); //im not sure about this codes
dataGridView1.Rows[number].Cells[6].Value = (string)((Hashtable)ht[4])["value"]; //count
}
else
{
dataGridView1.Rows[number].Cells[4].Value = (string)((Hashtable)ht[3])["value"]; //location
dataGridView1.Rows[number].Cells[5].Value = (string)((Hashtable)ht[4])["value"]; //count
}
但是,我不确定我是否做得对,因为我在评论的行中收到错误
dataGridView1.Columns[5].Add(columnSave); //im not sure about this codes
好像这段代码错了。任何人都可以建议吗?
答案 0 :(得分:7)
请尝试dataGridView1.Columns.Insert(5, columnSave);
。
答案 1 :(得分:0)
将复选框插入数据网格的某一列的简单方法:
DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
dataGridView1.Columns.Insert(**certain column number**, chk);
例如,如果您要将复选框添加到第1列,请输入
dataGridView1.Columns.Insert(0, chk);