搜索后只显示一行。 flexgrid vb6

时间:2010-04-16 20:11:05

标签: vb6 msflexgrid

所以我在我正在研究的vb6项目中有flexgrid。它在每一行都有名称,我有一个下拉列表,因此用户可以选择他们想要查看更多信息的名称,这就是我所拥有的。

Dim target_name As String

Dim r As Integer

' Get the name.
target_name = Combo1
If Len(target_name) = 0 Then Exit Sub

' Search for the name, skipping the column heading row.
target_name = LCase$(target_name)
For r = 1 To MSFlexGrid1.Rows - 1
    If LCase$(MSFlexGrid1.TextMatrix(r, 0)) = _
        target_name Then
        ' We found the target. Select this row.
        MSFlexGrid1.Row = r
        MSFlexGrid1.RowSel = r
        MSFlexGrid1.Col = 0
        MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1

        ' Make the row visible.
        MSFlexGrid1.TopRow = r
        Exit Sub
    End If
Next r

效果很好,但它也显示了该名称下面的所有内容,我希望它只挑出所选的名称。 任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

您网格的数据来源是什么?您可以将过滤器放在数据网格数据源上,这样当用户从下拉列表中选择名称时,只会将选定的人员详细信息从数据源返回到网格。 不完全是你问的问题,但它是如何实现你想要的结果的。

P.S。我在vb6中使用了flexgrid,我不知道你在网格上做什么的方法(可能在那里,但我从来没有注意到它)。