使DataGridView中的一列只读

3

在我的程序中,我包含了一个DataGridView,当表单加载时就会填充它。当它第一次加载时,我已经将整个表单设置为只读。但是,如果用户想要编辑其中的数据,他们可以点击我在表单上包含的编辑按钮,这里是代码:

datagrdSnippets.AllowUserToDeleteRows = True 'Allows user to delete rows
datagrdSnippets.ReadOnly = False 'Allows user to edit cells within the data grid

不过,我不希望 datagridview 中的某一列变得可编辑,我该如何编写代码来实现此功能?

4个回答

4
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Column1.ReadOnly = True
        Column2.ReadOnly = True
        Column3.ReadOnly = True
End Sub

在表单加载事件中,将您想要只读的列设置为 "true"。

DataGridView在加载时设置为只读,我只想在单击编辑按钮时使其可编辑,我已经在上面包含了代码,我只需要一行代码,使我的整个DataGridView可编辑,除了一列。 - Charlie Stuart

2

我有一个来自数据库的数据源,存在我的dataGridView中,所以我使用for循环来获取我想要使ReadOnly=true的确切列地址,其余的则为ReadOnly=false

代码:

For i = datagridview1.columns.count - 1 to 0 Step -1

  If i = (YourSpecificColumnAddress) Then
     Datagridview1.columns(i).ReadOnly=true
  Else  
     Datagridview1.columns(i).ReadOnly=false
  End if

Next

0
 dataGrid.Columns(index).ReadOnly = True
 dataGrid.Columns(index).ReadOnly = True

 dataGrid.Columns("column_name").ReadOnly = True

0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      datagrdSnippets.Columns(0).ReadOnly = True
      datagrdSnippets.Columns(1).ReadOnly = True
      datagrdSnippets.Columns(2).ReadOnly = True
End Sub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接