vb.net仿EXCEL的自动填充功能

本文介绍了一个使用VB.NET实现的自动补全功能示例,该功能能够在用户输入时提供匹配建议,类似于Excel或Access中的自动填充功能。示例代码展示了如何从数据库中检索数据并根据用户的输入实时提供匹配项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Public Class AutoCompleteSearch
    
'模糊记忆模块
    Public Sub AutoCompleteKeyUp(ByVal txt As TextBox, ByVal e As KeyEventArgs)
        
Dim strTyped As String
        
Dim strFoundText As String
        
Dim strAppendText As String
        
Dim dt As DataTable
        
Dim db As New DataBase
        
Dim dv As DataView
        dv 
= db.RunSelectSQL("select 编号,品名 from 物料清单 where 类型='部品'")
        dt 
= dv.Table
        db.Dispose()
        
'如果DATATABLE是空的,则退出程序
        If dt.Rows.Count < 1 Then
            
Exit Sub
        
End If
        
'忽略以下这些基本操作键
        Select Case e.KeyCode
            
Case Keys.Back, Keys.Left, Keys.Right, Keys.Up, _
                Keys.Delete, Keys.Down, Keys.CapsLock
                
Return
        
End Select
        
'获取输入值,并转换为大写
        strTyped = txt.Text.ToUpper.Trim()
        
'如果找到,则提取已录入和未录入部分
        For ii As Integer = 0 To dt.Rows.Count - 1  '注:表为所有编号内容,窗休导入时初始化
            If InStr(dt.Rows(ii)(0).ToString().Trim(), strTyped) > 0 Then
                strFoundText 
= dt.Rows(ii)(1).ToString().Trim()
                strAppendText 
= strFoundText.Substring(strTyped.Length)


                
'判断查询出来的结果是否与将要显示出来的内容是否吻合
                If strTyped & strAppendText = strFoundText Then
                    txt.Text 
= strTyped & strAppendText
                    txt.SelectionStart 
= strTyped.Length
                    txt.SelectionLength 
= strAppendText.Length
                    
Exit Sub
                
End If
            
End If
        
Next

    
End Sub

End Class

像EXCEL或ACCESS等在录入数据时有自动填充功能

以上例子,已在VS2005+SQL2000+WIN XP环境中调试通过,参考了网上某位大哥的例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值