Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将按钮添加到datagridview中的特定单元格_C#_Datagridview - Fatal编程技术网

C# 将按钮添加到datagridview中的特定单元格

C# 将按钮添加到datagridview中的特定单元格,c#,datagridview,C#,Datagridview,我已经创建了一个Datagridview。 现在,每当单元格包含空值时,它都会将加号按钮添加到单元格中。大概是这样的: if ((string)((Hashtable)ht[i])["value"] == "") { // Create a Save button column DataGridViewImageButtonSaveColumn columnSave = new DataGridViewImageButtonSaveColumn(); // S

我已经创建了一个Datagridview。 现在,每当单元格包含空值时,它都会将加号按钮添加到单元格中。大概是这样的:

if ((string)((Hashtable)ht[i])["value"] == "")
  {
     // Create a Save button column
     DataGridViewImageButtonSaveColumn columnSave = new DataGridViewImageButtonSaveColumn();

     // Set column values

     //Add the columns to the grid6
     if (!dataGridView1.Columns.Contains("SaveButton"))
        {
           dataGridView1.Columns.Insert(5, columnSave);
        }
  }
  else
  {
     //hide save button.
  }

但现在我的问题是,它在该列的所有单元格中显示加号按钮,即使该特定单元格有值。如何隐藏具有值的单元格的按钮

如果您只想在某些行中使用按钮,那么我倾向于不使用
DataGridViewButtonColumn
。我会使用只读的
DataGridViewTextBoxColumn
,这样默认情况下它会显示空单元格。对于那些需要按钮的行,您将创建一个
DataGridViewButtonCell
,并使用网格本身的索引器将该单元格放置在特定的列和行索引中。

您是说您想要一个额外的列,但您只想在另一列中的单元格为空的行的该列中显示按钮吗?或者你是说你真的想在现有列的单元格中放置一个按钮?@jmcilhinney是的,我已经为按钮创建了一个要显示的列。现在,我希望每当datagrid添加新行时,它都会检查该单元格。如果为空,则添加按钮;如果有值,则隐藏按钮。只有那个细胞。是的,这就是我创造的。但是当特定的单元格有按钮时。生成的下一行也将自动添加按钮。如果您按照我的建议进行操作,则没有“自动”按钮。一个单元格中唯一包含按钮的时间是当你把一个按钮放在那里的时候,所以如果你看不到你想要的,那么你就做错了。因为我不知道你在做什么,所以我不知道这是怎么回事。