vb.net datagridview最后一列设置为只读

ymdaylpp  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(318)

我知道如果您自己手动添加列,您可以将datagridview的列设置为只读,但是是否可以使用mysql db填充datagridview并将某些列设置为只读。。。除设置为只读的列外,用户可以编辑从mysql数据库获取的其他所有列
谢谢你的帮助

ygya80vv

ygya80vv1#

在哪里填充数据并不重要 DataGridView 来自(为什么应该?)。
使用 ReadOnly 财产 DataGridViewColumn 要将其设置为只读:

yourDataGridView.Columns("the_column_name").ReadOnly = True

注意:如果您使用数据绑定(即使用 DataSource 你得等到 DataBindingComplete 在更改列之前激发。
下面是一个简短的运行示例:

Dim con = new SqlConnection("Server=localhost;Database=master;User Id=sa;Password=whatever;")
Dim sqlCmd = new SqlCommand()
With sqlCmd
    .Connection = con
    .CommandType = CommandType.Text
    .CommandText = "Select * from spt_monitor"
End With
Dim sqlDataAdap = new SqlDataAdapter(sqlCmd)

Dim dtRecord = new DataTable()
sqlDataAdap.Fill(dtRecord)

Dim dgv = new System.Windows.Forms.DataGridView()
With dgv
    .DataSource = dtRecord
    .Dock = System.Windows.Forms.DockStyle.Fill
End With

AddHandler dgv.DataBindingComplete, Sub(sender, e) 
    '' access the columns in the DataBindingComplete event
    dgv.Columns("connections").ReadOnly = True
    dgv.Columns(2).ReadOnly = True
End Sub

Dim f = new System.Windows.Forms.Form()
f.Controls.Add(dgv)
f.ShowDialog()

相关问题