Я не написал функцию для AutoCompleteExtender, поэтому я не совсем уверен, как ее изменить, не испортив ее, поэтому я решил спросить здесь.Недавно было запрошено, чтобы автозаполнение показывало название продукта и дату запуска этого конкретного продукта.Я не знаю, как добавить дату в автозаполнение.
Причина, по которой это необходимо, заключается в том, что вебинары, которые мы проводим, снова показываются в будущем, поэтому в базе данных есть несколько вебинаров с одинаковыми именами.Немного сложно выбрать один вебинар при поиске, когда есть 3 с одинаковым именем, поэтому, если он показывает имя и дату, я бы подумал, что было бы легче выбрать правильный!
То, как это написано прямо сейчас, неверно.Я получаю волнистую линию под словом launchdate
в строке Dim item As String = AjaxControlToolkit......
, и ошибка: 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