none
Mostrar seleccionado un checkboxlist desde bdd RRS feed

  • Pregunta

  • Hola a todos.

    Necesito mostrar activados los checkbox cuya seleccion esta en bdd, al ejecutar la consulta se muestran los items pero no se como presentar los que estan activados. Lo que muestro son las asignaturas que pertenecen a un grado y paralelo, el store procedure se ejecuta correctamente, carga el control con los items, trae la asignatura con el estado correspondiente pero no se como presentar ese estado en los check.

    Mi codigo es el siguiente:

    cblAsignaturas.Items.Clear();
          string cadena = "Data Source=PCPROFESOR\\SQLEXPRESS;Initial Catalog=prueba;Integrated Security=True;Pooling=False";
                SqlConnection conn = new SqlConnection(cadena);
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "spObtAsignaturasxGrado";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@gr", gr); //indico el grado
                cmd.Parameters.AddWithValue("@pa", pa); //indico el paralelo
                cmd.ExecuteNonQuery();

                SqlDataReader reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        cblAsignaturas.Items.Add(new ListItem(Convert.ToString( reader.GetValue(0))));
                    }
                }


    kathy

    miércoles, 27 de abril de 2016 14:39

Todas las respuestas

  • hola

    imagino el cblAsignaturas es un CheckBoxList, no ? de ser asi porque agregas los items de esa forma

     deberias cargar uan lista o datatable y asignar el DataSource

    string cadena = "Data Source=PCPROFESOR\\SQLEXPRESS;Initial Catalog=prueba;Integrated Security=True;Pooling=False";
    SqlConnection conn = new SqlConnection(cadena);
    SqlCommand cmd = new SqlCommand("spObtAsignaturasxGrado", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@gr", gr); //indico el grado
    cmd.Parameters.AddWithValue("@pa", pa); //indico el paralelo
    
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    
    cblAsignaturas.DataTextField = "...";
    cblAsignaturas.DataValueField = "...";
    cblAsignaturas.DataSource = dt;

    entonces podrias asignar los marcados usando el value de cada item

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    miércoles, 27 de abril de 2016 16:17
  • Si es un checkboxlist, entonces debería recorrer el dt?????

    kathy

    miércoles, 27 de abril de 2016 16:57