【问题标题】:Dropdown list not populating values from datatable下拉列表不填充数据表中的值
【发布时间】:2020-10-26 23:47:04
【问题描述】:

我正在尝试使用以下代码填充下拉列表。我可以看到数据表中的值,但下拉列表仅显示我加载的 2 个值(空文本和“不适用”。

'Fill method call
Dim ECPDropDownList As DropDownList = CType(e.Item.Cells(Me.ECPColumnIndex).Controls(1), DropDownList)
fillECPDDL(ECPDropDownList, customerNumber)

'填充方法

Private Sub fillECPDDL(ByVal ddlECP As DropDownList, ByVal customernumber As String)
        Dim founries As DataTable = SOTSOrderAccess.getAllECP(customernumber)
        ddlECP.DataTextField = "ECP_Name"
        ddlECP.DataValueField = "ECP_ID"


        ddlECP.Items.Clear()
        Dim emptyECP As New ListItem
        emptyECP.Text = ""
        emptyECP.Value = ""
        ddlECP.Items.Add(emptyECP)
          

        For Each item As DataRow In founries.Rows
            ddlECP.Items.Add(New ListItem(item("ECP_Name").ToString, item("ECP_ID").ToString))
        Next
End Sub

'从数据库中获取值的函数调用

Function getAllECP(ByVal customernumber As String) As DataTable
        Using cnn As New SqlConnection(ConfigurationManager.AppSettings("db.connectString"))
            'Need stored procedure to fetch End Customer Project
            Using cmd As New SqlCommand("SOTS_sel_ECP", cnn)
                Using adp As New SqlDataAdapter(cmd)
                    Dim dt As New DataTable
                    cmd.Parameters.Add(New SqlParameter("@AX_Customer_Number", customernumber))
                    cmd.CommandType = CommandType.StoredProcedure
                    adp.SelectCommand = cmd
                    adp.Fill(dt)
                    Return dt
                End Using
            End Using
        End Using
    End Function

【问题讨论】:

    标签: asp.net vb.net dropdownlistview


    【解决方案1】:

    检查您是否从 getAllECP() 获取数据作为数据库的结果,

    也可以尝试用这种方式传递参数,

    cmd.Parameters.Add("@AX_Customer_Number", SqlDbType.NVarChar).Value = customernumber;

    【讨论】:

    • 我确认我实际上是从查询中获取数据。我认为当客户编号传递给存储过程时,下拉列表没有被更新。我尝试添加: ddlECP.DataSource = founries 和 ddlECP.DataBind() 但不起作用。有什么建议可以确保下拉列表已更新?
    • 仅供参考。我发现了问题并能够填充下拉列表!感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多