Exemplo n.º 1
0
    /*}

    'esta sirve para cuando solo tenemos un campo, no dos,
    'el campo id se va rellenando con incrementos
    void comboRellenarConIdAuto(ByRef combo As System.Web.UI.WebControls.DropDownList, ByVal textoSql As String, ByVal cadenaConexion As String, ByVal campoClave As String, Optional ByVal mensajeInicial As String = "")

        ' Rellena la lista que me pasan con la select pasada
        ' pillo el primer campo que me pasan en la select para el campo texto
        ' pillo el segundo campo que me pasan en la select para el el campo value me pasan el campo a almacenar
        Dim contador As New Integer
        If cadenaConexion = "" Then cadenaConexion = ctes.conStringAdoGeneral
        Dim pp As New dbClass(cadenaConexion)
        Dim reg As System.Data.Odbc.OdbcDataReader
        'Object 'SqlClient.SqlDataReader

        Try
            If mensajeInicial <> "" Then
                Dim per As New ListItem
                per.Value = 0
                per.Text = mensajeInicial
                combo.Items.Insert(0, per)
                per = Nothing
            End If

            contador += 1
            reg = pp.sql(textoSql)
            Do While reg.Read()
                Dim per As New ListItem
                per.Value = contador
                per.Text = reg(campoClave).ToString
                combo.Items.Add(per)
                per = Nothing
                contador += 1
            Loop

        Catch ex As Exception
        Finally
            pp.dispose()
        End Try

    }
    #End Region

    */
    public static void rellenarComboDB(ref System.Web.UI.WebControls.DropDownList tmpList, string textoSql, string connectionString)
    {
        // Rellena el combobox que me pasan con la select pasada

        // pillo el segundo campo que me pasan en la select para el campo texto

        // pillo el primer campo que me pasan en la select para el el campo value me pasan el campo a almacenar

        // version cambiada para que tire de dataset en vez de datareader

        tmpList.Items.Clear();

        dbClass pp = new dbClass(connectionString);

        try
        {

            DataSet ds = new DataSet();

            ds = pp.sqlDataset(textoSql);

            tmpList.DataSource = ds.Tables[0].DefaultView;

            tmpList.DataTextField = ds.Tables[0].Columns[1].ToString();

            tmpList.DataValueField = ds.Tables[0].Columns[0].ToString();

            tmpList.DataBind();

            ListItem per = new ListItem();

            per.Value = "0";

            per.Text = "Todos --";

            tmpList.Items.Insert(0, per);
            //(0, "Todos")

            ds = null;
        }

        catch (Exception ex)
        {
        }

        finally
        {

            pp.Dispose();

        }
    }