none
¿Como levantar ciertos items de una tabla a un Combobox y ocultar el resto? RRS feed

  • Pregunta

  • hola a todos, estoy realizando un sistema para una biblioteca. Cuento con una tabla Estado en la cual almaceno 4 de ellos: Disponible y Prestado (para libros) y Activo e Inactivo (para socios). Mi problema es como hacer para que a la hora de guardar un nuevo socio me levante de la base de datos (SQL Server con Entity Framework) a un Combobox únicamente Activo e Inactivo , y me oculte el resto de los estados (Disponible y Prestado, pertenecientes a los libros). Esto es algo del código que utilizo:

    public frmSocio()
    {
       InitializeComponent();
    
       cargarComboTipoSocio();
       cargarComboLocalidades();
       cargarComboEstado();           
    }
    public void cargarComboEstado()
            {
                clsEstado objClsEstados = new clsEstado();
                try
                {
                    cmbEstado.DisplayMember = "Nombre";
                    cmbEstado.ValueMember = "IDEstado";
                    cmbEstado.DataSource = objClsEstados.LeerEstados();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error", ex.ToString());
                }
                cmbEstado.Text = null;
            }
    public class clsEstado
        {
            public List<Estado> LeerEstados()
            {
                using (BDBibliotecaEntities BD = new BDBibliotecaEntities())
                {
                    return BD.Estado.ToList();
                }
            }
        }

    Intente ocultando los items que no necesito pero me da un error relacionado a que no se pueden ocultar los items debido a la utilización de DataSource

    Con el resto de Combobox a cargar no tuve problemas ya que los items a mostrar son todos, sin necesidad de ocultar ninguno.

    A la espera de alguna respuesta.. Saludos!


    • Editado AguFortini jueves, 31 de agosto de 2017 1:16
    jueves, 31 de agosto de 2017 1:16

Respuestas

  • La tabla 'Estado' debe contener una columna distintiva, una columna con valores que determinen pertenencia, por ejemplo valores como: 'L' y 'S', de tal forma que puedas filtrar los resultados según conveniencia, por ejemplo:

    cmbEstado.DataSource = objClsEstados.LeerEstados().where(x => x.Tipo == 'L');


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    • Marcado como respuesta AguFortini jueves, 31 de agosto de 2017 2:02
    jueves, 31 de agosto de 2017 1:36