MSHFlexGrid控件——点击某行时该行被选中

       在敲机房时,遇到这样一个问题,要删除MSHFlexGrid控件中某行的记录,在选择之前,做的就是先选中要删除的行。下面是我在操作是遇到的问题.

                        MSHFlexGrid控件——点击某行时该行被选中_第1张图片

一.操作方法

     1.属性中设置(三者缺一不可)

        右击该MSHFlexGrid控件,选择属性,设置其中的属性,如下:

                       MSHFlexGrid控件——点击某行时该行被选中_第2张图片

      但效果是改行的第一个单元格没被选中,不变色,原因是我把固定列设置成了:1

                      MSHFlexGrid控件——点击某行时该行被选中_第3张图片

       固定列或行的作用:缺省设定为,MSHFlexGrid 有一个固定列和一个固定行,当在 MSHFlexGrid 中滚动其它列或行时,固定的列和行是固定不变的。可以指定零个或多个固定的列行。自我认为:固定行不受设置影响,所以上面所提到的设置对第一列不起作用。

     2.属性窗口设置

找到对应的属性,该为想要的(照上图或下图中的属性该)即可

     3.代码中设

adddelFlexGrid.SelectionMode = flexSelectionByRow '选中该整行

anadddelFlexGrid.FocusRect = flexFocusNone       '选中行显示焦点区域

adddelFlexGrid.Highlight=flexHighlightWithFocus '选中行突出显示

二.相关知识
1.删除选中行
Private Sub Form_Load()
adddelFlexGrid.SelectionMode = flexSelectionByRow '设置MSHFlexGrid1的选择方式是按行选择
HaveSelected = False '设置标志,防止没选择就删除
End Sub

Private Sub adddelFlexGrid_Click()
HaveSelected = True
n = adddelFlexGrid.RowSel
End Sub

Private Sub cmddelete_Click()
  '在对应表中删除该用户
txtSQL = "delete from user_info where userid='" & adddelFlexGrid.TextMatrix(n, 0) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
adddelFlexGrid.RemoveItem adddelFlexGrid.RowSel '删除选中的行
End Sub

注意:摁住Shift键可选中连续的多行

2.属性区分

     1>行或列

rows :所有行                                                        cols:所有列

rowsel:所在行在表格中是第几行                            cols:所在行在表格中第几列

      2>颜色

backcolor:背景色,即单元格的背景色

backcolorbkg:控件的背景

backcolorFiexd:选择单元格的背景色

设置如下:

backcolor:&H0080FFFF&黄色

backcolorbkg:&H000000FF&红色

backcolorSel:&H8000000D&蓝色

效果如下:

       MSHFlexGrid控件——点击某行时该行被选中_第4张图片



你可能感兴趣的:(项目,------机房个人版)