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

Como adicino un item en blanco a un combobox

Estas en el tema de Como adicino un item en blanco a un combobox en el foro de .NET en Foros del Web. Hola En C# lleno un combobox desde un bd, pero necesito adicionarle un dato en blanco en la primera posicion de manera que algunas veces ...
  #1 (permalink)  
Antiguo 14/12/2004, 09:05
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 20 años, 7 meses
Puntos: 0
Como adicino un item en blanco a un combobox

Hola

En C# lleno un combobox desde un bd, pero necesito adicionarle un dato en blanco en la primera posicion de manera que algunas veces pueda seleccionar ese dato en blanco para que no haya nada en el combobox.

Como puedo hacer eso???

Chao y Gracias
__________________
J-.-`.::
  #2 (permalink)  
Antiguo 14/12/2004, 09:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Yo trabajo con vb.net pero será similar. Una de las formas puede ser que en las select mediante la cual cargas el combo pongas por ejemplo:

select -1 as id, null as descripcion from tabla union select id, descripcion from tabla.

asi la primera parte de la consulta hace que te cargue una línea en blanco sin perjudicar la BD.

Otra manera más limpia es coger el datatable y hacer esto después de cargarlo y antes de asociarlo al combo:

dtNumero.Rows.InsertAt(dtNumero.NewRow(), 0)
con esto le insertas una nueva fila vacía en la posición que le indicas, que como le hemos puesto 0 es la primera posición.
Espero que te sirva.
  #3 (permalink)  
Antiguo 14/12/2004, 09:58
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 20 años, 7 meses
Puntos: 0
Gracias alarar

Este em mi SQL con que lleno el combobox

"SELECT sCustomerName, sCustomerID FROM tblCustomers order by sCustomerName ASC")

como encajaria tal codigo que me escribes, Gracias de nuevo
__________________
J-.-`.::
  #4 (permalink)  
Antiguo 15/12/2004, 09:42
 
Fecha de Ingreso: diciembre-2004
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Esto es lo que tienes tú:
"SELECT sCustomerName, sCustomerID FROM tblCustomers order by sCustomerName ASC"

yo lo dejaría así:

"select null as scustomername, -1 as scustomerid from tblcustomers union

SELECT sCustomerName, sCustomerID FROM tblCustomers order by sCustomerName "

quedaría así, a ver si te vale.
  #5 (permalink)  
Antiguo 15/12/2004, 17:28
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 20 años, 7 meses
Puntos: 0
listo, me funcionó, mil gracias
__________________
J-.-`.::
  #6 (permalink)  
Antiguo 16/12/2004, 04:10
 
Fecha de Ingreso: diciembre-2001
Mensajes: 150
Antigüedad: 22 años, 4 meses
Puntos: 1
Hola Julian,

Yo lo que hago es lo siguiente:

Realizo la consulta de base de datos y después de rellenar el combo con dicha información, le inserto un primer elemento en blanco. De esta forma, la select es más limpia, sin ninguna unión.

SqlConnection oConn = Datos.abrirConexion;
DataSet ds = new DataSet();

SqlDataAdapter da1 = new SqlDataAdapter("CENTROS",oConn);
da1.Fill(ds,"Centros");
this.cboCenTrab.DataSource = ds.Tables["Centros"].DefaultView;
this.cboCenTrab.DataBind();

ListItem Elemento = new ListItem("","-1");
this.cboCenTrab.Items.Insert(0,Elemento);


Espero que te sirva.

Un saludo

Korrikalari
  #7 (permalink)  
Antiguo 16/12/2004, 05:07
 
Fecha de Ingreso: diciembre-2004
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Sí es verdad que la manera en que dices tú es más limpia korrikalari(euskaldun eh?), de hecho, ya indicaba que había otra forma de hacerlo, pero no lo hago como tú(pero viene a ser parecido):
Otra manera más limpia es coger el datatable y hacer esto después de cargarlo y antes de asociarlo al combo:

dtNumero.Rows.InsertAt(dtNumero.NewRow(), 0)

De esta manera en vez de al combo directamente se lo asigno al datatable, pero supongo que es todavía más limpio hacerlo a tu manera no?contesta si puedes vale?que estas cosas me interesan para ir mejorando, gracias por el correctivo.
Eskerrik asko!!!
  #8 (permalink)  
Antiguo 16/12/2004, 07:12
 
Fecha de Ingreso: diciembre-2001
Mensajes: 150
Antigüedad: 22 años, 4 meses
Puntos: 1
Me parece más interesante no tocar el datatable, por si en un momento dado se crea alguna relación entre los datatables y pudiera haber problemas de integridad de datos.

Pero bueno, que es otra forma también correcta de hacerlo.

Agur
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 02:49.