2012-11-24 218 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