我正在尝试使用以下代码填充下拉列表。我可以看到数据表中的值,但下拉列表仅显示我加载的 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