2012-03-01 12 views
0

私はAutoCompleteExtenderの関数を書いていないので、どうやってそれを変更するのか分かりませんので、ここで質問しました。最近、AutoCompleteに特定の製品の発売日が製品名&であることが示されました。オートコンプリートに日付を追加する方法がわかりません。パブリック共有CreateAutoCompleteItemの引数が多すぎます

これが必要な理由は、私たちが提示したウェブセミナーが今後再び表示されるため、データベースに同じ名前の複数のウェブセミナーが存在するためです。まったく同じ名前の3つがあるときに検索するときに1つのウェブセミナーを選択するのは少し難しいので、名前と日付を表示すると、正しいものを選択する方が簡単だと思います!

これは現在書かれている方法が間違っています。行Dim item As String = AjaxControlToolkit......の中に単語launchdateの下に波打ち際があり、エラーは次のとおりです。Too many arguments to 'Public Shared Function CreateAutoCompleteItem(text As String, value As String) As String'

何か助けていただければ幸いです。私が言ったように、私はこれを書いていないので、これがベストプラクティスであるかどうかはわかりません。私はあなたがコードを批判したいかどうかを理解しており、それが必要であればそれを変更しますが、余分なフィールドも追加する方法を本当に知りたいと思います。ありがとう!

Public Function GetProducts(ByVal prefixText As String, ByVal count As Integer) As String() 
    Dim ProductSql As String = "Select DISTINCT ProductID, ProductName, LaunchDate 
           FROM Product 
           WHERE ProductName LIKE '%' + @prefixText + '%' 
           AND LaunchDate IS NOT NULL 
           ORDER BY ProductName ASC" 
    Using sqlConn As New SqlConnection 
(System.Configuration.ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString) 
     sqlConn.Open() 
     Dim myCommand As New SqlCommand(ProductSql, sqlConn) 
     myCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value = prefixText 
     Dim myReader As SqlDataReader = myCommand.ExecuteReader() 
     Dim myTable As New DataTable 
     myTable.TableName = "ProductSearch" 
     myTable.Load(myReader) 
     sqlConn.Close() 
     Dim items As String() = New String(myTable.Rows.Count - 1) {} 
     Dim i As Integer = 0 
     For Each dr As DataRow In myTable.Rows 
      Dim id As String = dr("ProductID").ToString() 
      Dim name As String = dr("ProductName").ToString() 
      Dim launchdate As String = dr("LaunchDate").ToString() 
      Dim item As String = 
      AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(name, id, launchdate) 
      items.SetValue(item, i) 
      i += 1 
     Next 
     Return items 
    End Using 
End Function 

答えて

0

これを試してみてください。..

AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(name & " " & launchdate, id) 
+0

パーフェクト!ありがとう。あなたは、あなたがオートコンプリートの日付を表示するためにdatetimeからlaunchdateの表示をどのように変更できるのか分からないのですか? (mm-dd-yyyy) – jlg

+0

.ToString( "MM-dd-yyyy") '大文字と小文字が区別されます。 – N0Alias

+0

Hmmm ...これはオートコンプリート・エクステンダを破ります。今ドロップダウンに何も表示されません。 – jlg

関連する問題