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