Build 10 dropdownlists from dataset?
-
I need to populate 10 dropdown lists with the same SQL query. I've already tried to build three w/in the same routine, but only the first ddl is getting built. Any suggestions are welcome! Thanks!
Damn - ALL my answers were lost by the site. You need to post some code before we can have any idea what your problem is. Christian Graus - Microsoft MVP - C++
-
Damn - ALL my answers were lost by the site. You need to post some code before we can have any idea what your problem is. Christian Graus - Microsoft MVP - C++
I was using: Public Sub Build_KSddlNewName() 'Make SQL Statement to populate New Name ddl Dim strSQLNewName As String strSQLNewName = "SELECT Authority, Number, Signature, [Code], Authority + ' | ' + " strSQLNewName &= "Number AS Expr4 FROM Sig_Auth_Nms " strSQLNewName &= "WHERE [Code]<>'' " strSQLNewName &= "Order By Authority" Dim sCon1 As New SqlConnection sCon1.ConnectionString = Session("DBDDL") sCon1.Open() Dim cmdRes As New SqlCommand(strSQLNewName, sCon1) Dim myNewNameRDR As SqlDataReader = cmdRes.ExecuteReader() If myNewNameRDR.HasRows = True Then KSddlNewName.DataSource = myNewNameRDR KSddlNewName.DataTextField = "Expr4" KSddlNewName.DataValueField = "Number" KSddlNewName.DataBind() KSddlNewName.Items.Insert(0, "") ksddlNewName2.DataSource = myNewNameRDR ksddlNewName2.DataTextField = "Expr4" ksddlNewName2.DataValueField = "Number" ksddlNewName2.DataBind() ksddlNewName2.Items.Insert(0, "") ksddlNewname3.DataSource = myNewNameRDR ksddlNewname3.DataTextField = "Expr4" ksddlNewname3.DataValueField = "Number" ksddlNewname3.DataBind() ksddlNewname3.Items.Insert(0, "") End If myNewNameRDR.Close() myNewNameRDR = Nothing sCon1.Close() Call buildKSddlNewP3ResourceCode() 'Make SQL Statement to populate the third ddl, KSddlNewRateType Dim strSQLNewRateType As String strSQLNewRateType = "SELECT ComboCode + ' - ' + Description AS RtCdCnct, ComboCode FROM " strSQLNewRateType &= "[Resource Table - Combo Codes]" sCon1.Open() Dim cmdRateType As New SqlCommand(strSQLNewRateType, sCon1) Dim myNewRateTypeRDR As SqlDataReader = cmdRateType.ExecuteReader() If myNewRateTypeRDR.HasRows = True Then KSddlNewRateType.DataSource = myNewRateTypeRDR KSddlNewRateType.DataTextField = "RtCdCnct" KSddlNewRateType.DataValueField = "ComboCode" KSddlNewRateType.DataBind() KSddlNewRateType.Items.Insert(0, "") End If myNewRateTypeRDR.Close() myNewRateTypeRDR = Nothing sCon1.Close() ...but I'm going to try to use: Dim cnn As New SqlConnection("data source = desktop; initial catalog= northwind; trusted_connection=true") cnn.Open() ' Dim cmd As New SqlCommand("Data_Reader", cnn) cmd.CommandType = CommandType.StoredProcedure Dim dr As SqlDataReader dr = cmd.ExecuteReader With ddlLastName .DataSource = dr .DataTextField = "LastName" .DataValueField = "LastName" .DataBind() End With dr.NextResult() With ddlCompanyName .DataSource = dr .DataTextField = "CompanyName" .DataValueField = "Compan
-
I was using: Public Sub Build_KSddlNewName() 'Make SQL Statement to populate New Name ddl Dim strSQLNewName As String strSQLNewName = "SELECT Authority, Number, Signature, [Code], Authority + ' | ' + " strSQLNewName &= "Number AS Expr4 FROM Sig_Auth_Nms " strSQLNewName &= "WHERE [Code]<>'' " strSQLNewName &= "Order By Authority" Dim sCon1 As New SqlConnection sCon1.ConnectionString = Session("DBDDL") sCon1.Open() Dim cmdRes As New SqlCommand(strSQLNewName, sCon1) Dim myNewNameRDR As SqlDataReader = cmdRes.ExecuteReader() If myNewNameRDR.HasRows = True Then KSddlNewName.DataSource = myNewNameRDR KSddlNewName.DataTextField = "Expr4" KSddlNewName.DataValueField = "Number" KSddlNewName.DataBind() KSddlNewName.Items.Insert(0, "") ksddlNewName2.DataSource = myNewNameRDR ksddlNewName2.DataTextField = "Expr4" ksddlNewName2.DataValueField = "Number" ksddlNewName2.DataBind() ksddlNewName2.Items.Insert(0, "") ksddlNewname3.DataSource = myNewNameRDR ksddlNewname3.DataTextField = "Expr4" ksddlNewname3.DataValueField = "Number" ksddlNewname3.DataBind() ksddlNewname3.Items.Insert(0, "") End If myNewNameRDR.Close() myNewNameRDR = Nothing sCon1.Close() Call buildKSddlNewP3ResourceCode() 'Make SQL Statement to populate the third ddl, KSddlNewRateType Dim strSQLNewRateType As String strSQLNewRateType = "SELECT ComboCode + ' - ' + Description AS RtCdCnct, ComboCode FROM " strSQLNewRateType &= "[Resource Table - Combo Codes]" sCon1.Open() Dim cmdRateType As New SqlCommand(strSQLNewRateType, sCon1) Dim myNewRateTypeRDR As SqlDataReader = cmdRateType.ExecuteReader() If myNewRateTypeRDR.HasRows = True Then KSddlNewRateType.DataSource = myNewRateTypeRDR KSddlNewRateType.DataTextField = "RtCdCnct" KSddlNewRateType.DataValueField = "ComboCode" KSddlNewRateType.DataBind() KSddlNewRateType.Items.Insert(0, "") End If myNewRateTypeRDR.Close() myNewRateTypeRDR = Nothing sCon1.Close() ...but I'm going to try to use: Dim cnn As New SqlConnection("data source = desktop; initial catalog= northwind; trusted_connection=true") cnn.Open() ' Dim cmd As New SqlCommand("Data_Reader", cnn) cmd.CommandType = CommandType.StoredProcedure Dim dr As SqlDataReader dr = cmd.ExecuteReader With ddlLastName .DataSource = dr .DataTextField = "LastName" .DataValueField = "LastName" .DataBind() End With dr.NextResult() With ddlCompanyName .DataSource = dr .DataTextField = "CompanyName" .DataValueField = "Compan
OK - I'd try creating an array for each list, populated with the appropriate data, and data bind to them. I know I've tried to use one array across multiple ddls with similar problems. Christian Graus - Microsoft MVP - C++