Dropdown在运行时错过了一个listItem

时间:2015-05-25 09:12:59

标签: asp.net sql-server vb.net drop-down-menu listitem

我在运行时ddlMerchant有一个下拉列表loads

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中。 这是下拉列表,不显示第二项 enter image description here

这是我在执行存储过程时在SQL Server中得到的结果集,您可以在其中看到下拉列表缺少终端ID为00000002的项目,尽管它已返回 enter image description here

1 个答案:

答案 0 :(得分:0)

您的下拉列表中的第一个条目(选择)看起来也不见了。

ddlMerchant.Items.Insert看起来是个问题。尝试将其移至Utilities.GetTerminal功能,并在清除项目(objBox.Items.Clear())后,添加'选择'选项,然后是数据库中的条目