【问题标题】:Too many arguments for Public Shared CreateAutoCompleteItem公共共享 CreateAutoCompleteItem 的参数太多
【发布时间】:2012-03-01 16:58:23
【问题描述】:

我没有为 AutoCompleteExtender 编写函数,所以我不太确定如何在不搞砸的情况下更改它,所以我想我会在这里问。最近,有人要求自动完成显示产品名称和该特定产品的发布日期。我不知道如何将日期添加到自动完成。

之所以需要这样做是因为我们提供的网络研讨会将来会再次显示,因此数据库中有多个同名的网络研讨会。在搜索时选择一个网络研讨会有点困难,因为有 3 个名称完全相同,所以如果它显示名称和日期,我想选择合适的会更容易!

现在的写法是不正确的。我在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

【问题讨论】:

    标签: vb.net webmethod autocompleteextender


    【解决方案1】:

    试试这个..

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

    【讨论】:

    • 完美!谢谢。您不知道如何将启动日期的显示从日期时间更改为在自动完成中显示日期吗? (mm-dd-yyyy)
    • .ToString("MM-dd-yyyy") '区分大小写。
    • 嗯...这会破坏自动完成扩展器。现在下拉菜单中没有显示任何内容。
    • 从数据行设置启动日期变量的值时执行此操作。
    • 那是我做的。在Dim launchdate As String 行中。我正在尝试不同的组合,看看是否有任何效果,但到目前为止没有任何效果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多