首页 > 代码库 > WinForm设置DataGridView某些行和列只读

WinForm设置DataGridView某些行和列只读

WinForm设置DataGridView某些行和列的只读

列只读设置比较容易,行只读设置要求将SelectionMode设置为CellSelect,EditMode设置为EditOnEnter 。

   '--DataGridView1控件的初始化设置(在数据绑定前设置,load事件中)
   Private Sub InitDataGrid1()
        Me.GridView1.ReadOnly = False                                         '设置非只读
        Me.GridView1.SelectionMode = DataGridViewSelectionMode.CellSelect     '选择模式
        Me.GridView1.EditMode = DataGridViewEditMode.EditOnEnter              '进入修改模式(行只读)
        '设置列只读()
        GridView1.Columns("列名").ReadOnly = True                                ’设置列只读
        GridView1.Columns("列名").CellTemplate.Style.BackColor = Color.Lavender  ’背景设置灰色只读
  End sub


    '--在绑定数据后设置DataGrid(只有在对DataGrid进行InitDataGrid1中的设置后才能控制行只读)
    Private Sub InitDataGrid_afterBindData()
        If Me.GridView1.RowCount <= 0 Then Return
        For i As Integer = 0 To Me.GridView1.RowCount - 1
            If Not Me.IsCanUpdate(i) Then                                          ’如果某行不能编辑
                Me.GridView1.Rows(i).ReadOnly = True                               ’设置行只读
                Me.GridView1.Rows(i).DefaultCellStyle.BackColor = Color.Lavender   ’背景设置灰色只读
            End If
        Next
    End Sub


WinForm设置DataGridView某些行和列只读