文章标签 ‘datagridview’
由于对datagridview不是太熟悉,绑定值的方法还不熟悉,所以用了一种迂回的方法:
datagridview的名称为: dgvList
其中,第一列为checkbox,第二列为ID(主键),但设置第二列为隐藏列:
Me.dgvList.Columns(1).Visible = False
取值的时候,可以通过其他事件触发:
我在这里建立了一个私有方法,来判断是否选中的为某一列,如果只选中一列的话,返回主键ID值:
Private Function IsClickOne() As Integer
Dim blnReturn As Integer = 0
Try
Dim i As Integer = 0
Dim j As Integer = 0
Dim k As Integer = 0For i = 0 To Me.dgvList.RowCount – 1
If Me.dgvList.Rows(i).Cells(0).EditedFormattedValue.ToString() = "True" Then
j = j + 1
k = Me.dgvList.Rows(i).Cells(1).EditedFormattedValue.ToString()
End If
NextIf j = 1 Then
blnReturn = k
End IfCatch ex As Exception
MFunction.WriteErrLog(ex.Message) [方法]写错误信息到文本
End TryReturn blnReturn
End Function
EditedFormattedValue: 获取改变后的值!
为了实现,单击任意一个单元格能选中所在行的checkbox,再次点击会取消选中,那么需要对datagridview进行设置:
ReadOnly = True
SelectionMode = FullRowSelect
MultiSelect = False
然后在事件: dgvList_CellClick 编写代码如下:(datagridview名为dgvList)
If e.RowIndex > -1 Then
Me.dgvList.Rows(e.RowIndex).Cells(0).Value = Not Me.dgvList.Rows(e.RowIndex).Cells(0).Value
End If
这个方法可以选中很多行的checkbox!当然前提是datagridview的第0列为checkbox列!
