我有一个包含5(0-5)列的datagridview。我从创建的哈希表中检索所有行的值。 现在,我设置了一个条件,如果第4列从哈希表中获取的值为空,则在第4列旁边添加新列,将新添加的列索引设置为5,并且以前为第5列的哈希表值更改为第7列。
我像这样编写代码:
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
看起来这段代码有误,请问有人能够指导一下吗?
columnSave.HeaderCell
的属性。或者为columnSave.HeaderCell.Paint
添加一个处理程序,并在其中什么都不做。或者你可以只设置columnSave.HeaderText = "";
? - Blorgbeard