您的位置:首页 > 编程语言 > VB

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

2008-04-11 10:22 543 查看



Public Class AutoCompleteSearchClass AutoCompleteSearch


'模糊记忆模块




Public Sub AutoCompleteKeyUp()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环境中调试通过,参考了网上某位大哥的例子
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: