DataGridView控件在使用上非常的灵活多变,有时候项目需要,可能要在DataGridView里面添加button或image等控件,这时候该怎样操作呢?
C#里面的DataGridView控件中,提供了一种列的类型,叫 DataGridViewButtonColumn ,这种列类型是展示为一个 按钮,可以给button赋予相应的text,并且此button可以用来做处理事件的判断依据。DataGridViewButtonColumn,虽然在UI展示上,是一个button的样子,但是,它的实际形态,并不是传统意义的button,而是渲染出来的样式,完全是painting的效果而已。
代码实现:两种方式
方法1:
//在datagridview中添加button按钮
DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
btn.Name = "DetailInfo";
btn.HeaderText = "详细信息";
btn.DefaultCellStyle.NullValue = "...";
dataGridView1.Columns.Add(btn);
然后在DataGridView的CellContentClick事件中写类似如下代码:
private void dgvcompleteOrder_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvcompleteOrder.Columns[e.ColumnIndex].Name == "DetailInfo" && e.RowIndex >= 0)
{
DetailOrderInfo doi = new DetailOrderInfo();
DialogResult result = doi.ShowDialog();
}
}
方法2:
1、在DataGridView里面选择编辑列,然后出现如下界面
2、点击添加按钮,如下图