这个MSHFLEXGRID可不可以象HTML的表单一样进行多选?
因为我需要在它的数据中人工选出一部分数据进行特殊处理,可研究了半天好象没这功能.
datagrid好象可以(记得是可以,有点忘了),绑定数据后只要数据库中有字段为"是否"形式的它就自动显示为多选的方框.
可这个东东的功能太差,不自由.但这个MSHFLEXGRID好象又实现不了这个多选的功能.
或者大家有没有其它方式来实现我的要求,就是在它显示的数据中,手动选中部分数据,然后点一按钮进行被选中数据的操作,比如批量删除.

解决方案 »

  1.   

    MSHFLEXGRID 只能选择连续的行,不能分散多选。
    建议用 ListView,风格:
    · View = lvwReport
    · MultiSelect = True
      

  2.   

    '先将数据充入到hflexgrid控件中,将控件的第0列设置为“选择”列,单击数据的某一行,如果此行的第0列为选中状态则改为未选中状态,如果为未选中状态则改为选中状态:
    Private Sub flexgrid_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
        '单击选择或不选择
        With Flexgrid
            If .rows < 2 Then Exit Sub
            If .TextMatrix(.Row, 0) = "√" Then
                .TextMatrix(Flexgrid.Row, 0) = ""
                '改变行颜色
                  For i_Col = 0 To .Cols - 1
                    .col = i_Col
                    .CellBackColor = vbWhite
                Next i_Col
            Else
                .TextMatrix(.Row, 0) = "√"
                '改变行颜色
                  For i_Col = 0 To .Cols - 1
                    .col = i_Col
                    .CellBackColor = &HFFFFC0
                Next i_Col
            End If
        End With
    End Sub'将选中的行删除
    private sub command1_click()
        with flexgrid
            for i=1 to .rows-1
                if trim(.textmatrix(i,0))="√" then
                    '删除语句
                       conn.execute "delete from tablename where 字段="& .textmatrix(i,0) &""
                end if
            next i
        end with
    end sub