在vb.net中的DataGridView中只读单元格

时间:2016-05-20 07:38:03

标签: vb.net datagridview

我想让datagridview中只有一个单元格是只读的,我尝试过以下方法,但都没有成功。

dgv_parametersetting(2, 0).ReadOnly = True
dgv_parametersetting.Rows(0).Cells(2).ReadOnly = True

For Each r As DataGridViewRow In dgv_parametersetting.Rows
      If r.Cells(2).Value = 0 Then
           r.Cells(2).ReadOnly = True
      End If
Next

任何人都可以请我提供语法,使datagridview视图中的特定单元格成为只读。

3 个答案:

答案 0 :(得分:0)

从未尝试过ReadOnly属性,但是你可以通过我认为的CellValidating事件来实现。使用上面的代码+ e.Cancel

答案 1 :(得分:0)

您可能想要尝试此操作 - 代码项目中的代码 - :

   Private Sub dgv_CellBeginEdit(sender As Object, e As  DataGridViewCellCancelEventArgs) Handles dgv.CellBeginEdit

 If e.RowIndex = 0 And e.ColumnIndex = 1 Then
    e.Cancel = True
 End If

End Sub

答案 2 :(得分:0)

您可以将活动RowsAdded视为:

Private Sub DataGridView1_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs)
Handles DataGridView1.RowsAdded
 If DataGridView1.Rows.Count > 0 AndAlso DataGridView1.ColumnCount >= 2 Then
    DataGridView1.Rows(e.RowIndex).Cells(2).ReadOnly = True
 End If
 End Sub