2012-11-24 152 views
1

我需要在输入任何字符时自动填充文本框。 为Me.QuickSearchTableAdapter1.GetDataByFirstName(FirstNamePri.Text)该查询是在vb中自动填充文本框

SELECT  firstNamePri FROM  Customer WHERE  (firstNamePri LIKE @firstName) 

私人小组FirstNamePri_KeyPress(BYVAL发件人为对象,BYVALË作为 System.Windows.Forms.KeyPressEventArgs)把手FirstNamePri.KeyPress

Dim txtItems As New AutoCompleteStringCollection 
    Dim search As ArfDynamicsDataSet.QuickSearchDataTable = _ 
    Me.QuickSearchTableAdapter1.GetDataByFirstName(FirstNamePri.Text+"%") 

    Dim dbValues As String 

    For Each row As DataRow In search.Rows 

     dbValues = row("firstNamePri").ToString() 
     dbValues = dbValues.ToLower() 
     txtItems.Add(dbValues) 


    Next 

    FirstNamePri.AutoCompleteCustomSource = txtItems 

End Sub 

当我输入一个字符,该字符不存在于数据库文本框保持为空,我输入的字符也被删除

我已经选择了AutoCompleteMode来建议和AutoCompleteMode来定制来源

任何人都可以解释我做错了什么。

编辑:如果我使用其他文本框的按键事件说TextBox1和自动填充FirstNamePri frrom TextBox1事件它的作品。它应该在按键工作FirstNamepri的

感谢

回答

0

你可以尝试这样的事情

Dim textParam = FirstNamePri.Text + "%" 
Dim search As ArfDynamicsDataSet.QuickSearchDataTable = _ 
      Me.QuickSearchTableAdapter1.GetDataByFirstName(textParam) 
0
Public Function FetchProductSpareList(prefixText As String) As String() 
    Dim dbinventory As New DCInventoryNewDataContext() 
    Dim CompanyId As Integer = Convert.ToInt32(System.Web.HttpContext.Current.Session("CompanyID").ToString()) 

    Dim ProductNames = (_ 
    Join P In dbinventory.Products On S.ProductId = P.id _ 
    Join C In dbinventory.SpareReceiptCodes On S.Id = C.StoreId _ 
    Where P.CompanyID = CompanyId AndAlso C.Active = True AndAlso _ 
         P.ProductName.StartsWith(prefixText)).Distinct() 
    Dim items As String() = New String(ProductNames.Count() - 1) {} 
    Dim i As Integer = 0 
    For Each Product As var In ProductNames 
     items.SetValue(Product.ProductName, i) 
     i += 1 
    Next 
    Return items 
End Function 
+0

这可能是好的,但你应该添加一些说明 – Steve