文章标签 ‘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 = 0

            For 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
            Next

            If j = 1 Then
                blnReturn = k
            End If

        Catch ex As Exception
            MFunction.WriteErrLog(ex.Message) [方法]写错误信息到文本 
        End Try

        Return blnReturn

    End Function

EditedFormattedValue: 获取改变后的值!

2009年8月24日18:48 | 没有评论
分类: 后端开发

为了实现,单击任意一个单元格能选中所在行的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列!

2009年8月24日18:17 | 没有评论
分类: 后端开发