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

[SOLUCIONADO] combobox con indice

Estas en el tema de combobox con indice en el foro de .NET en Foros del Web. hola, quiero saber si es posible ponerle un indice distinto el que yo quiera como se hace en option html en duro un valor o ...
  #1 (permalink)  
Antiguo 08/12/2017, 12:12
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 4 meses
Puntos: 9
combobox con indice

hola,

quiero saber si es posible ponerle un indice distinto el que yo quiera como se hace en option html en duro un valor o con una variable php
Código PHP:
Ver original
  1. $indice = "1777"; //ya que este indice puede venir de una tabla en BD
  2. <option value="<?=$indice?>">mi opcion</option>
es que si el indice en la tabla el por ejemplo 9000 y tengo 8100 registros por que los otros fueron eliminados o no quiero que se listen y ese tiene un campo visible algo asi.
listaria algunos nomas pero entonces todos los indice que le siguen no corresponderian a los creados por el combo de c# que al obtener con SelectedIndex no corresponderia al que tengo en la tabla

esa es mi duda.


Slds,
  #2 (permalink)  
Antiguo 10/12/2017, 09:51
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años, 7 meses
Puntos: 16
Respuesta: combobox con indice

Buenas compañero,

Prueba con esto:
MyCombo.SelectedValue = "1777"


Salu2!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)
  #3 (permalink)  
Antiguo 11/12/2017, 01:41
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 11 meses
Puntos: 606
Respuesta: combobox con indice

Te paso el link a un ejemplo de como rellenar el combo mediante una consulta a la BBDD.

Mira de adaptarlo y si tienes algún problema coméntalo aquí.

"MyCombo.SelectedValue" solo es una propiedad para indicar el elemento seleccionado del desplegable. Sin embargo, lo que __SDP__ quiere es establecer el value de cada Ítem del desplegable.
__________________
Aviso: No se resuelven dudas por MP!
  #4 (permalink)  
Antiguo 02/01/2018, 10:28
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 4 meses
Puntos: 9
Respuesta: combobox con indice

Sorry por la demora en mi respuesta es que ahora estoy en esta etapa de funcionalidades.

El combo carga bien pero no puedo obtener el indice utilizo selectedIndex y obtiene el de la posición si escogo el segundo me muestra 1 y si escogo el 8 me muestra el 7 y no me esta mostrando el que yo le coloco.

Esto lo tengo asi

Código .net c#:
Ver original
  1. foreach (DataRow row in Personas.Rows)
  2.             {
  3.                 string no = Convert.ToString(row["nombrePersona"]);
  4.                 if(no.Trim() != ""){
  5.                     string co = Convert.ToString(row["codPersona"]);
  6.                     ListItem oItem = new ListItem(no, co);
  7.                     cboNombrePersona.Items.Add(oItem);
  8.                 }
  9.             }


  #5 (permalink)  
Antiguo 03/01/2018, 03:16
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 11 meses
Puntos: 606
Respuesta: combobox con indice

Es porque esta en base 0, es decir la primera posición es el 0, la segunda posición es el índice 1, etc.
__________________
Aviso: No se resuelven dudas por MP!
  #6 (permalink)  
Antiguo 03/01/2018, 06:46
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 4 meses
Puntos: 9
Respuesta: combobox con indice

eso lo tengo claro lo que quiero saber como saco el valor que quiero

aqui le paso dos valores pero solo puedo rescatar uno solo

Código c#:
Ver original
  1. ListItem oItem = new ListItem(no, co);
  #7 (permalink)  
Antiguo 03/01/2018, 07:40
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 11 meses
Puntos: 606
Respuesta: combobox con indice

Cita:
Iniciado por __SDP__ Ver Mensaje
eso lo tengo claro lo que quiero saber como saco el valor que quiero

aqui le paso dos valores pero solo puedo rescatar uno solo

Código c#:
Ver original
  1. ListItem oItem = new ListItem(no, co);
Si usas SelectedIndex te devolverá el índice, no el valor. Si quieres el valor has de usar SelectedValue.
__________________
Aviso: No se resuelven dudas por MP!
  #8 (permalink)  
Antiguo 10/01/2018, 12:01
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 4 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

Etiquetas: combobox, indice, registro
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 08:05.