如何向datagridview单元格添加按钮而不是整列

时间:2011-06-10 17:45:24

标签: c# vb.net visual-studio

如何向行中的单元格添加按钮而不是数据网格视图中的整个列?

7 个答案:

答案 0 :(得分:1)

我认为阿德里安的答案很接近。尝试这样的事情。

if ((string)table.Rows[0].Cells[0].Value == "I should be a button") {
   // you can add formatting or values to the button before assigning it here
   table.Rows[0].cells[0] = new DataGridViewButtonCell();
}

答案 1 :(得分:0)

在SO中看到这个类似的帖子,可能有帮助

adding control to gridview

如果是Win Form,请查看此MSDN帖子

Column Types in the Windows Forms DataGridView Control

或者这个代码项目帖子......虽然它给出了添加图像按钮的例子

DataGridView Image Button Cell

@tmax在这种情况下,您可以将按钮创建代码放在GridView_RowCreated事件中,如下所示

void GridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {   
     if(e.Row.RowType == DataControlRowType.Header)
      {   
           //Button creation code here        
      } 
  }

答案 2 :(得分:0)

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
    Button btn = new Button();
    //btn attributes
    dataGridView1.Rows[0].Cells[3].Value = new Button();
}

尝试这样的事情。

答案 3 :(得分:0)

我不确定这是否会有所帮助,但您也可以考虑使用TableLayoutPanel。

参考:Winforms TableLayoutPanel adding rows programmatically

答案 4 :(得分:0)

我最终做的是将DataGridView堆叠在另一个上面。我关闭了边框,网格线和滚动条。然后创建动态按钮列以匹配主数据网格视图与仅一行按钮。然后我使用ColumnWidthChanged事件处理程序一起调整DataGridViews的大小。无论如何,这是我现在的解决方法。

答案 5 :(得分:0)

我认为最好的答案如果在这里找到: Hide gridview button。您需要做的就是在需要按钮的地方添加DataGridViewButtonCell,在不需要的地方添加DataGridViewTextBoxCell。该列必须是DataGridViewButton类型。

答案 6 :(得分:0)

 DataGridViewButtonColumn dataGridViewButtonColumn = new DataGridViewButtonColumn();
        dataGridViewButtonColumn.Name = "Select";
        dataGridViewButtonColumn.HeaderText = "Select";
  
        dataGridViewButtonColumn.ReadOnly = false;
        dataGridView1.Columns.Add(dataGridViewButtonColumn);