• Lunes 29 de Abril de 2024, 03:46

Autor Tema:  Llenado de combobox C#  (Leído 2436 veces)

mar_ccv

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Llenado de combobox C#
« en: Jueves 17 de Febrero de 2011, 17:08 »
0
Código: C#
  1.  
  2.  
  3. Hola a todos, estoy trabajando en Winforms  de Visual Estudio framework 3.5.
  4.  
  5. Tengo  el siguiente caso:  
  6.  
  7. 1.    En el Load de la forma  lleno un combo box  con una lista de cargos (que se toma de la base de datos) de la siguiente forma:
  8.      
  9.           cbCargo.DataSource = new BonosVentasNG(conexionOracle).obtenerCargos(cargo);
  10.           cbCargo.DisplayMember = "Nombrecargo";
  11.           cbCargo.ValueMember = "Codigocargo";
  12.           cbCargo.Text = null;
  13.        
  14. 2. El usuario selecciona un cargo,  graba (ó salva)  el registro en la base de datos y  luego limpia la forma.
  15.  
  16. 3. En el método de limpiar la forma,  se llena nuevamente el combo con la lista de cargos como el punto 1.
  17.  
  18. La consulta es la siguiente :
  19.  
  20. Al querer desplegar el registro grabado (Ej: codigo =1  Gerente General) en el combo,  puedo hacerlo con los datos que tengo en el datasource?
  21.  
  22.             cbCargo.DisplayMember = "Nombrecargo";
  23.             cbCargo.ValueMember = "Codigocargo";          
  24.  
  25. ó toca ir  a la base de datos con el codigo del cargo , para llenar nuevamente el datasource ?
  26.  
  27. Les agradezco la colaboración que me puedan brindar.
  28.  
  29. Saludos.
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  

mar_ccv

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Llenado de combobox C#
« Respuesta #1 en: Viernes 18 de Febrero de 2011, 19:03 »
0
Hola, a todos , ya resovi mi problema. Aquí les copio el codigo que realice.

 #region poblar el cargo : Dejar seleccionada el cargo que ha especificado el usuario en el Bono

            indice = 0;
            encontrado = false;

            foreach (object objeto in this.cbCargo.Items)  // iteramos por cada uno de los items del ComboBox
            {
                if (objeto is CargoTR)
                {
                    CargoTR obj = (CargoTR )objeto;
                    if (obj.CodigoCargo == bonoConsulta.CodCargo)
                    {
                        encontrado = true;
                        break;
                    }
                    indice++;
                }
            }

            if (encontrado)
                this.cbCargo.SelectedIndex = indice; //
            else
                this.cbCargo.SelectedIndex = -1; //  quitamos la seleccion

            #endregion

Saludos.