热情软件屋

 

在VB 6.0的ListView控件中进行搜索


编号:QA004614
建立日期: 2002年4月20日 最后修改日期:2002年4月20日
所属类别:

文章:

    李海译自《VBTips》
    你可能经常需要将数据库中数据或者很长的信息列表填充到ListView中。这时,你可能需要让用户输入片段文字,然后在列表中进行搜索。 幸运的是,控件的FindItem方法可以让你这么做。
    这个方法包括4个参数: string、value、index、match。参数string包含你要搜索的字符串;而参数value(在智能提示中为'where')告诉VB在哪里搜索指定的字符串--在Text (lvwText)、subitems (lvwSubItem)或Tag (lvwTag)属性中。 参数index表示VB从哪个条目开始进行搜索,而参数match告诉VB是否搜索整个字符串(lvwWholeWord)或部分匹配(lvwPartial)。参数string是唯一必须的参数。
    为了演示如何使用ListView的这个方法,我们建立严格快速搜索的窗体,你可以输入一些文字,然后点击一个按钮来执行搜索工作。建立一个标准的VB工程。从菜单中选择“Project | Components”,然后在对话框中选择Microsoft Windows Common Controls 6.0。点击OK按钮添加这些控件到你的工程。从工具箱中选择ListView控件并且在默认窗体上绘制一个控件的实例。添加文本框和命令按钮到窗体。
    这时,我们可以添加代码进行搜索。右击窗体并且从快捷菜单中选择“查看代码”。当VB打开代码窗口,输入如下代码:
    Private Sub Form_Load()
    With ListView1
    .ListItems.Add Key:="k1", Text:="Fred"
    .ListItems.Add Key:="k2", Text:="Barney"
    .ListItems.Add Key:="k3", Text:="Wilma"
    .ListItems.Add Key:="k4", Text:="Betty"
    .ListItems.Add Key:="k5", Text:="Pebbles"
    .ListItems.Add Key:="k6", Text:="Bam Bam"
    End With
    End Sub
    
    Private Sub Command1_Click()
    Dim itm As ListItem
    With ListView1
    Set itm = .FindItem(Text1.Text, lvwText, , lvwPartial)
    If Not itm Is Nothing Then
    .ListItems(itm.Index).Selected = True
    .SetFocus
    End If
    End With
    Set itm = Nothing
    End Sub
    
    

    按[F5]开始测试工程。在文本框中输入'Pe' (不包括引号),然后点击命令按钮。当你这么做,VB在ListView选择"Pebbles"项。

文章来源:VBTips

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio