MSFlexGrid1   如果要选择MSFlexGrid1中的多条记录,
最后获取的多个ID在做为一个记录 (如选择了第1条的0001、第3条的0003、第8条的0008)
怎样把“0001、0003、0008”作为另一张表某个字段的值1.例如 按住CTRL ,通过鼠标点击 这样多选 获取数据集ID呢  要怎样实现,  
2.添加一个Textbox  通过双击MSFlexGrid1的记录 移到 Textbox 
希望大家会明白我的意思!

解决方案 »

  1.   

    俺是这样的做的,在第一列(标题列)上加"*",当用户点击后加星,再点就把星去掉,最后循环看哪些行有星星,HEHE
      

  2.   

    谢谢,Leftie(左手,为人民币服务) ( ) 信誉:105    Blog 具体能不能在讲详细一点如何在MSFlexGrid1中,增加一个复选框呢 。路过的也顶一下吧
      

  3.   

    我觉得改变一个cell的方法比较实际,我挺讨厌改变颜色的
      

  4.   

    可以考虑考虑利用RowData属性保存每一行的选中状态
    Private Sub MSFlexGrid1_Click()
        With MSFlexGrid1
            If .MouseCol = 1 And .Col = 1 Then
                .RowData(.MouseRow) = Not .RowData(.MouseRow)
                If .RowData(.MouseRow) Then
                    Set .CellPicture = Picture1.Picture
                Else
                    Set .CellPicture = Nothing
                End If
            End If
        End With
    End SubPicture1里面放了一个小对号图片
    这段代码考虑的情况很简单,实际使用可能还有漏洞,仅供参考:)
      

  5.   

    上面这个可以实现点击第一列的时候给表格选中行显示一个标记
    保存的时候循环检查一下,凡是RowData属性为true的行都保存
      

  6.   

    谢谢   yachong(蚜虫) ( ) 信誉:100    Blog 
    你的方法我试试,但不知道会不会,有没有办法在每条记录一列的单元格里面添加个单选框,还是有其他方法!
      

  7.   

    有没有办法在每条记录一列的单元格里面添加个单选框
    ==================================================
    可以建立一个单选框数组,然后根据需要load新的单选框,然后把每个单选框定位到相应的行列位置。但是如果网格行数很多,滚动网格的时候想让这么多单选框始终能够正确地显示就很麻烦了。
    我倾向于用.CellPicture属性,你可以准备两个小图片,分别是单选框选中和为选中的样子,然后根据情况把这两个图片贴到网格里面。用户不太可能看出破绽。这个方法的好处是不用操心网格滚动时正确显示单选框。“单选框”??
    单选按钮/复选框??
      

  8.   

    Private Sub Form_Load()
        Dim i As Long
        With MSFlexGrid1
            .Rows = 10000
            .RowHeight(-1) = 280
            .ColAlignment(0) = flexAlignCenterCenter
            For i = 1 To .Rows - 1
                .TextMatrix(i, 0) = CStr(i)
            Next
            
            .ColWidth(1) = 800
            .FillStyle = flexFillRepeat
            .Col = 1
            .RowSel = 1
            .RowSel = .Rows - 1
            .CellPictureAlignment = flexAlignCenterCenter
            Set .CellPicture = Picture2.Picture
            
            .RowSel = 1
            .FillStyle = flexFillSingle
        End With
    End Sub
    Private Sub MSFlexGrid1_Click()
        With MSFlexGrid1
            If .MouseCol = 1 And .Col = 1 Then
                .RowData(.MouseRow) = Not .RowData(.MouseRow)
                If .RowData(.MouseRow) Then
                    Set .CellPicture = Picture1.Picture
                Else
                    Set .CellPicture = Picture2.Picture
                End If
            End If
        End With
    End Sub
      

  9.   

    编辑表格内容(与TextBox控件结合)源码。
    http://www.egooglet.com/static_html/200511092142552141admin.html与CheckBox控件结合与之类似。
      

  10.   

    更多资料可以去此查:═══════════════════
    http://www.egooglet.com 资料、源码下载http://bbs.j2soft.cn 论坛交流
    ═══════════════════
      

  11.   

    可惜的是MSFG没有自含的CheckBox选项,若用的是VSFG就好办了。
      

  12.   

    ComponentOne 的FlexGrid控件可以轻松实现:Cell表现为单选框、下拉框形式。
      

  13.   

    太好了,我用yachong(蚜虫) 的方法 可以实现了,谢谢。 如果有其他方法大家分享一下吧
    但是如何判断这图片这列的图片时是 picture1 还是 picture2不好意思,我真的不懂!
    语句怎么写,
     if  MSFlexGrid1.CellPicture=   ???
      

  14.   

    如何判断这图片这列的图片时是 picture1 还是 picture2
    =============================
    用.RowData属性判断
    if .RowData(行) then
        是picture1
    else
        是picture2
    endif
      

  15.   

    不好意思哦,也许是我没有表达清楚!我是想鼠标选取后, 如何用遍历该列来判断,有哪几行的值是picture2,
    再根据这几行来取其他属性~!
      

  16.   

    Private Sub MSFlexGrid1_Click()
        With MSFlexGrid1
            If .MouseCol = 1 And .Col = 1 Then
                .RowData(.MouseRow) = Not .RowData(.MouseRow)
                If .RowData(.MouseRow) Then
                    Set .CellPicture = Picture1.Picture
                        .Text = ''                   
             Else
                    Set .CellPicture = Picture2.Picture
                        .Text = .TextMatrix(Grid1.Row, 0)     '我是把第一列的值赋值给该类最后判断该列值是不是为空的。 所以想知道如何判断是Pic1 还是 Pic2            End If
            End If
        End With
    End Sub
      

  17.   

    按照前面写的代码,RowData属性与CellPicture是同步的
    如果该行CellPicture是picture1,那么该行的rowdata属性就是非0值
    反之如果该行CellPicture是picture2,那么该行的rowdata属性就是0
    所以可以通过RowData属性来判断CellPicture是哪个图片我猜直接if (.CellPicture=picture1.picture) then 也应该可以,没试验