Слишком много аргументов для Public Shared CreateAutoCompleteItem - PullRequest
0 голосов
/ 01 марта 2012

Я не написал функцию для 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

1 Ответ

0 голосов
/ 01 марта 2012

Попробуйте это ..

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