有一个窗体,包含左右两个窗口,其中右边窗口包含一个MSHFLEXGRID,要让它拥有“被选中项删除、双击选中的条目可以显示在左边窗口的TEXTBOX里”的功能,其中我要能删除选中的某一行数据,也可以删除全部选中数据。
这些功能如何实现,entercell、还是beforeedit、afteredit,总之我都不太懂,请高手指教,最好有实例

解决方案 »

  1.   

    我的问题难道不清楚吗,是分两个问题来问的
    1、能够对MSHFLEXGRID里显示的数据进行删除,无论是任选其一还是选择多个来进行删除;
    2、当双击表里的数据时,表里相应的字段值会出现在左边窗口的各个TEXTBOX里显示。这样说比较清楚了,请高手帮帮忙,工作阻力,希望多多相助!
      

  2.   

    微软这个控件不好用 我一直用 vSHFLEXGRID
      

  3.   

    删除选中一行
    Private Sub Command1_Click()
    Dim i As Integer, j As Integer
    On Error Resume Next
     If MSHFlexGrid1.Row = MSHFlexGrid1.RowSel Then
    i = MSHFlexGrid1.Row
    For j = 0 To 9
    S = S & MSHFlexGrid1.TextMatrix(i, j) & "  "
     Next
     Text1.Text = S
     MSHFlexGrid1.RemoveItem i
     Exit Sub
     End If
    'If MSHFlexGrid1.Row <> MSHFlexGrid1.RowSel And MSHFlexGrid1.Col <> MSHFlexGrid1.ColSel ThenEnd SubPrivate Sub Form_Load()
    MSHFlexGrid1.Cols = 10
    MSHFlexGrid1.Rows = 10
    Dim i As Integer, j As Integer
    For i = 0 To 9
    For j = 0 To 9
    MSHFlexGrid1.TextMatrix(i, j) = i + j
    Next
    Next
    End Sub
      

  4.   

    首先,先问你个问题。你确定是MSHFlexgrid控件吗?它没有BeforeEdit、AfterEdit事件,有这两个事件的是VSFlexgrid。另外建议你用VSFlexgrid编辑以及按照你说的要求,那个控件更容易实现。但是需要额外添加一个文件vsflex8n.ocx或以下版本。楼上老张已经告诉你办法了,如果是VSF的,可以单独一个列给出bool类型选取,最后可以根据这个bool类型是否勾选删除。但要记得使用BOOl类型,每行都要初始化为false先,不然你可能就会吃苦头。
      

  5.   

    先感谢楼上各位大侠们的指点,我是用的MSHFlexgrid,应该是用不上beforeedit等这两个事件了,老张的方法我会去试,不过,多选和双击都怎么实现呢