DPC: Creating a multicolumn Dropdownlist[等级:初 中]

80酷酷网    80kuku.com

  Creating a multicolumn Dropdownlist
Click here to return to my article index
One of the frequently asked questions over at Asplists.com is: "How do I create a multicolumn dropdownlist?". I have come up with two ways to accomplish this task.

The first technique combines the two columns in the SQL query used to create the resultset and then binds the resultset to the dropdownlist. More AspAlliance SQL articles can be found here.

Code:
    Sub FillDropDownSQL()
    Dim myConnection As SqlConnection = new SqlConnection("Data Source=test; User Id=test; Password=test; Initial Catalog=pubs")
    Dim myCommand As SqlCommand = New SqlCommand("Select pub_id + ',' + pub_name As IDAndName From publishers", myConnection)
    
    myConnection.Open()

    DropDownList1.DataTextField = "IDAndName"

    DropDownList1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
        DropDownList1.DataBind()
    End Sub



Result:
0736,New Moon Books 0877,Binnet & Hardley 1389,Algodata Infosystems 1622,Five Lakes Publishing 1756,Ramona Publishers 9901,GGG&G 9952,Scootney Books 9999,Lucerne Publishing

The second technique combines the two columns while looping through a SqlDataReader. The combination of the two columns is then programmatically added to the dropdownlist. More information on the SqlDataReader can be found here.

Code:
    Sub FillDropDownCode()
    Dim myConnection As SqlConnection = new SqlConnection("Data Source=test; User Id=test; Password=test; Initial Catalog=pubs")
    Dim myCommand As SqlCommand = New SqlCommand("Select pub_id,pub_name From publishers", myConnection)
    Dim myDataReader As SqlDataReader

    myConnection.Open()
    myDataReader = myCommand.ExecuteReader()
    
    While myDataReader.Read()
        DropDownList2.Items.Add(myDataReader.GetString(0) & "," & myDataReader.GetString(1))
    End While

    myDataReader.Close()
    myConnection.Close()
    End Sub


Result:

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: