[英]Change a Cell into a Button in DataGridView
我有一个数据绑定的DataGridView。 我希望两列的单元格包含一个按钮而不是常规单元格。
编辑:解决了,现在我需要弄清楚当单元格包含NULL时如何禁用按钮。
为了能够将列添加到DataBound Datagridview的指定位置,我们必须在添加列之前将Datagridviews AutoGenerateColumns属性设置为False。
如果不这样做,将要添加的所有列都将放置在Datagridview的最右端,这也会影响第一列。
但是请记住Colummn.Index属性将受到影响。
dgv_dt is a DataTable
dgv is the DataGridView
dgv.AutoGenerateColumns=True
dgv.DataSource=dgv_dt
dgv.ClearSelection
dgv.Columns(0).HeaderText="FirstName"
dgv.Columns(1).HeaderText="Company ID"
dgv.Columns(2).HeaderText="Recent Picture"
dgv.Columns(2).Visible=False
dgv.Columns(3).HeaderText="Address"
dgv.Columns(4).HeaderText="Alive"
dgv.AutoGenerateColumns=False
Dim btn As New DataGridViewButtonColumn()
btn.HeaderText = "Click Data"
btn.Text = "Click Here"
btn.Name = "btn"
dgv.Columns.Insert(2,btn)
上面的代码将显示Datagridview及其Column.Index,如下所示:
dgv.Columns(1) First Name
dgv.Columns(2) Company ID
dgv.Columns(3) Recent Picture 'This column is hidden, if this Contains NULL, ButtonCell is enabled/clickable
dgv.Columns(0) ButtonCell
dgv.Columns(4) Address
dgv.Columns(5) Alive
列公司ID和最近的图片包含一个BLOB或NULL,如果它是BLOB,则该单元将是一个Enabled按钮,如果它是NULL,则为Disabled按钮。
将现有列设置为hidden .Visible = false
。
然后添加DataGridViewButtonColumn
并检查CompanyID
列的值
如果BLOB
则启用按钮列
如果为NULL
则禁用按钮列
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.