Vsflexgrid8.0+下拉选择框产生的问题(控件名GridChk)
Private Sub Form_Load()
With GridChk
.Cols = 2
.Rows = 5
.ColWidth(0) = 1400: .ColWidth(1) = 1500
.TextMatrix(0, 0) = "部位 ": .TextMatrix(0, 1) = "等级 "
For i = 0 To 4
.RowHeight(i) = 380
Next
.TextMatrix(1, 0) = "西部 ": .TextMatrix(2, 0) = "东部 "
.TextMatrix(3, 0) = "北部 ": .TextMatrix(4, 0) = "南部 "
.Cell(flexcpAlignment, 0, 0, 4, 1) = flexAlignCenterCenter
.ColComboList(1) = "1|2|3|4|5| "
End With
End Sub
1、按照帮助示例,上述代码(5行x2列,第一行、第一列固定),第2列可产生下拉选择框,实际运行时没有下拉选择框产生。当添加如下事件后可产生下拉选择框,其中原因,请知晓的大虾解释一下。
Private Sub GridChk_RowColChange()
GridChk.EditCell
End Sub
2、由于选择框的值为另一张A表服务,当我选择某个值后,我想立即给A表执行某些动作。我尝试调用ComboCloseUp、AfterRowColChange等方法,都没达到“立即反映到A表” 动作的效果,ComboCloseUp事件没有反映(完全不能捕捉到选择完成的动作),AfterRowColChange只在当前单元格失去焦点后才有动作效果,代码如下。哪位大虾指点一下。
Private Sub GridChk_AfterRowColChange(ByVal Row As Long, ByVal OldCol As Long, ByVal NewRow As Long, ByVal NewCol As Long)
Dim i As Integer, iDZ As String
iDZ = GridChk.TextMatrix(Row, 1)
If Row = 1 Then
For i = 1 To 15
Grid.TextMatrix(i, 2) = iDZ
Next
ElseIf Row = 2 Then
For i = 16 To 20
Grid.TextMatrix(i, 2) = iDZ
Next
ElseIf Row = 3 Then
For i = 21 To 29
Grid.TextMatrix(i, 2) = iDZ
Next
ElseIf Row = 4 Then
For i = 30 To 34
Grid.TextMatrix(i, 2) = iDZ
Next
End If
End Sub
[解决办法]
问题1:
Form Load时加一句 GridChk.Editable = flexEDKbdMouse
问题2:
Private Sub GridChk_ComboCloseUp(ByVal Row As Long, ByVal Col As Long, FinishEdit As Boolean)
If GridChk.ComboIndex <> -1 Then Print GridChk.ComboItem(GridChk.ComboIndex)
End Sub
Vsflexgrid8.0+下拉选择框产生的有关问题(控件名GridChk)
Vsflexgrid8.0+下拉选择框产生的问题(控件名GridChk)PrivateSubForm_Load()WithGridChk.Cols2.Rows5.Col
