私は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
パーフェクト!ありがとう。あなたは、あなたがオートコンプリートの日付を表示するためにdatetimeからlaunchdateの表示をどのように変更できるのか分からないのですか? (mm-dd-yyyy) – jlg
.ToString( "MM-dd-yyyy") '大文字と小文字が区別されます。 – N0Alias
Hmmm ...これはオートコンプリート・エクステンダを破ります。今ドロップダウンに何も表示されません。 – jlg