Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/01/2018, 12:01
__SDP__
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: combobox con indice

si uso SelectedIndex me devuelve el indice 0 si es el primero 1 si es el segundo y eso no me sirve porque el indice se lo cargo con info de la base de datos y el indice es muy diferente.

pero bueno encontre la solucion por ahi buscando

Primero Creo una clase de nombre ComboboxItem:
Código .NET:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace AdmClientes
  7. {
  8.     public class ComboboxItem
  9.     {
  10.         public string Text { get; set; }
  11.         public object Value { get; set; }
  12.  
  13.         public override string ToString()
  14.         {
  15.             return Text;
  16.         }
  17.     }
  18. }

Así cargo el Combobox:
Código .NET:
Ver original
  1. DataTable clientes = NN.ObtenerListadoClientes();
  2.  
  3.             foreach (DataRow row in Clientes.Rows)
  4.             {
  5.                 ComboboxItem item = new ComboboxItem();
  6.                 item.Text = Convert.ToString(row["NOMBRECLIENTE"]);
  7.                 if (!item.Text.Trim().Equals(string.Empty))
  8.                 {
  9.                     item.Value = Convert.ToString(row["codCliente"]);
  10.                     cmbClientes.Items.Add(item);
  11.                 }
  12.             }
  13.  
  14.             cmbClientes.SelectedIndex = 0;

Asi saco la información:
Código .NET:
Ver original
  1. private void btnObtieneInfo_Click(object sender, EventArgs e)
  2.         {
  3.             //cod tiene el indice de cliente y nombre es es nombre del cliente
  4.             string cod = (cmbClientes.SelectedItem as ComboboxItem).Value.ToString();
  5.             string nom = cmbClientes.Text;
  6.  
  7.            MessageBox.Show(cod + " - " + nom);
  8.         }

Espero que alguien le sirva.

bye