Foros del Web » Programación para mayores de 30 ;) » .NET »

Como separar una cadena de un combobox

Estas en el tema de Como separar una cadena de un combobox en el foro de .NET en Foros del Web. Alguien me puede ayudar es que tengo un combo box en el cual yo selecciono items y resulta que al abrir el formulario en el ...
  #1 (permalink)  
Antiguo 27/05/2009, 14:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 14 años, 11 meses
Puntos: 0
Como separar una cadena de un combobox

Alguien me puede ayudar es que tengo un combo box en el cual yo selecciono items y resulta que al abrir el formulario en el combo se cargan los items de dos campos de una tabla algo asi: 1 - Maria Rodriguez donde 1 es el codigo y maria el nombre lo que necesito es que al seleccionar un item en el momento de grabar mis datos yo pueda separar el codigo del nombre para poder guardarlos en una tabla separadamente.

Si alguien me puede colaborar lo agradezco muchoooo es urgenteeeeee gracias.
  #2 (permalink)  
Antiguo 27/05/2009, 14:40
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como separar una cadena de un combobox

y porque no separas en tu consulta el codigo tanto como el nombre para que puedas usar el selectedvalue y tomar el codigo sin problemas

ejm:

Código C#:
Ver original
  1. SqlConnection Con = SqlConnection("tu conexion");
  2. SqlDataAdapter Adp;
  3. DataSet Ds = new DataSet();
  4. SqlCommand Com = new SqlCommand();
  5. Con.Open();
  6. Com.Connection = Con;
  7. Com.CommandType = CommandType.Text;
  8. Com.CommandText = "Select Codigo,Nombre From TuTabla";
  9. Adp = new SqlDataAdapter(Com);
  10. Adp.fill(Ds,"x");
  11.  
  12. ComboBox1.DataSource = Ds.Tables["x"];
  13. ComboBox1.DisplayMember = "Nombre";
  14. ComboBox1.ValueMember = "Codigo";
  15. //con la propiedad SelectedValue Tomas el valor del item seleccionado
  16. ComboBox1.SelectedValue();
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 27/05/2009, 14:52
Avatar de HuachoSoft  
Fecha de Ingreso: mayo-2009
Ubicación: Lima - Peru
Mensajes: 8
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Como separar una cadena de un combobox

Lo que dice Dradi7 es correcto.

la otra alternativa es que muestres el codigo anteponiendole ceros para todos y así todos los códigos tengan una longirud fija. luego a tu combo le haces .tostring().substring(1, longitud maxima de los codigos)

con eso tambien lo tienes
  #4 (permalink)  
Antiguo 27/05/2009, 15:25
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Como separar una cadena de un combobox

HuachoSoft pero si hace ese substring piensa que podrian ser mas de 10 entonces el substring que tu dices no funcion para que acepte cualquier numero
Código C#:
Ver original
  1. String Cad = "158 - Jose Carlos";
  2. String[] CadArray = new String[] { };
  3. CadArray = Cad.Split('-');
  4. MessageBox.Show(CadArray[0].Trim());//Aqui el Codigo sin importar el ancho (1 o 157 o 14,etc)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 28/05/2009, 01:00
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Como separar una cadena de un combobox

y la tercera alternativa es que hagas substrings, es decir, que cojas el substring del texto hasta el guien, y otro substring, del guion para adelante. Algo asi:

codigo= texto_combo.to_string.substring(0, texto_combo.to_string.index_Of("-")-1)
'aqui lo que hace es qeu te coge el texto desde la posicion 0 hasta la posicion del guin -1) Restamos para que no te coja el guion
nombre=texto_combo.to_string.substring(texto_combo .to_string.index_Of("-")+1)

y el nombre te muestra el codigo desde el guion hasta el final.
Asi de sencillo.

Quedó claro????
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:00.