我有一个在运行时loads的下拉ddlMerchant。
Sub LoadMerchant()
Try
Utilities.GetTerminal(ddlMerchant, -999, -999, "-999", "-999", "-999")
ddlMerchant.Items.Insert(0, New ListItem("Select", -999))
ddlMerchant.SelectedIndex = 0
Catch ex As Exception
End Try
End Sub和Utilities.GetTerminal的代码
objBox.Items.Clear()
Try
Dim drTemp As SqlDataReader = GenericDB.ExecuteSPForDataReader("spGetTerminal", CountryID, CityID, MerchantID, TerminalID, POSSerial)
While drTemp.Read()
Dim sTerminal As String = ""
sTerminal = drTemp.Item("TerminalID") + " : " + Convert.ToString(drTemp.Item("MerchantName1"))
objBox.Items.Add(New ListItem(sTerminal, drTemp.Item("TerminalID")))
End While
objBox.SelectedIndex = 0
drTemp.Close()
Catch ex As Exception
Throw ex
End Try 问题是,它加载并插入result set的所有项,但它只是遗漏了第二项。虽然在调试期间我可以在sTerminal中看到第二个项目,但它不会显示在dropdown中。下面是绑定的下拉列表,它没有显示第二项

这是我在SQL Server中执行存储过程时获得的结果集,您可以看到下拉列表中缺少终端ID为00000002的项,尽管返回了该结果集

发布于 2015-05-25 17:26:09
下拉列表中的第一个条目(select)似乎也丢失了。
ddlMerchant.Items.Insert似乎就是问题所在。尝试将它移到Utilities.GetTerminal函数中,在清除项目(objBox.Items.Clear())之后,添加“选择”选项,然后添加数据库中的条目
https://stackoverflow.com/questions/30434832
复制相似问题