ComboBox

24/07/2007 - 16:58 por Nuno Santos | Informe spam
Hola grupo,

Tengo una combobox con dados de una tabla, pero quiero que
el primer ítem del combo sea, por ejemplo: "-- Todos --", como puedo hacer
para que el primer ítem de la combo sea el "--Todos --" y sólo después
vengan los ítems de la tabla.

Gracias de antemano,

Esto es lo que tengo:

myDll.LotesClass plLotes = new myDll.LotesClass();



ADODB.Recordset RS = plLotes .GetListaLotes();

DataSet ds = new DataSet();

OleDbDataAdapter da = new OleDbDataAdapter();

da.Fill(ds, RS, "Lotes");



this.cbLote.DataSource = ds;



this.cbLote.DataSource = ds.Tables["Lotes"].DefaultView;

this.cbLote.DisplayMember = "NumLote";

this.cbLote.ValueMember = "IdLote";

this.cbLote.FormatString = "0000";

plLotes = null;

Preguntas similare

Leer las respuestas

#1 carlosmsr
24/07/2007 - 17:50 | Informe spam
cbLote.Items.Insert(int index, object Item);

"Nuno Santos" wrote:

Hola grupo,

Tengo una combobox con dados de una tabla, pero quiero que
el primer ítem del combo sea, por ejemplo: "-- Todos --", como puedo hacer
para que el primer ítem de la combo sea el "--Todos --" y sólo después
vengan los ítems de la tabla.

Gracias de antemano,

Esto es lo que tengo:

myDll.LotesClass plLotes = new myDll.LotesClass();



ADODB.Recordset RS = plLotes .GetListaLotes();

DataSet ds = new DataSet();

OleDbDataAdapter da = new OleDbDataAdapter();

da.Fill(ds, RS, "Lotes");



this.cbLote.DataSource = ds;



this.cbLote.DataSource = ds.Tables["Lotes"].DefaultView;

this.cbLote.DisplayMember = "NumLote";

this.cbLote.ValueMember = "IdLote";

this.cbLote.FormatString = "0000";

plLotes = null;



Respuesta Responder a este mensaje
#2 Nuno Santos
24/07/2007 - 18:02 | Informe spam
Gracias por responder,
Pero creo que no entiendo bien... hago el insert, pero despues al hacer
el datasource = ds se sobrepone al insert, cierto?

NS

"carlosmsr" wrote in message
news:
cbLote.Items.Insert(int index, object Item);

"Nuno Santos" wrote:

Hola grupo,

Tengo una combobox con dados de una tabla, pero quiero
que
el primer ítem del combo sea, por ejemplo: "-- Todos --", como puedo
hacer
para que el primer ítem de la combo sea el "--Todos --" y sólo después
vengan los ítems de la tabla.

Gracias de antemano,

Esto es lo que tengo:

myDll.LotesClass plLotes = new myDll.LotesClass();



ADODB.Recordset RS = plLotes .GetListaLotes();

DataSet ds = new DataSet();

OleDbDataAdapter da = new OleDbDataAdapter();

da.Fill(ds, RS, "Lotes");



this.cbLote.DataSource = ds;



this.cbLote.DataSource = ds.Tables["Lotes"].DefaultView;

this.cbLote.DisplayMember = "NumLote";

this.cbLote.ValueMember = "IdLote";

this.cbLote.FormatString = "0000";

plLotes = null;



Respuesta Responder a este mensaje
#3 Nuno Santos
24/07/2007 - 18:35 | Informe spam
Lo que hice:
DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
OleDbDataAdapter da = new OleDbDataAdapter();
da.Fill(dt, RS);
// Declare the array variable.
object[] rowArray = new object[2];
rowArray[0] = 0;
rowArray[1] = null;
dt.Rows[0].ItemArray = rowArray;
this.cbLote.DataSource = dt.DefaultView;


NS



"Nuno Santos" <nunos7@[REMOVER]hotmail.com> wrote in message
news:
Gracias por responder,
Pero creo que no entiendo bien... hago el insert, pero despues al hacer
el datasource = ds se sobrepone al insert, cierto?

NS

"carlosmsr" wrote in message
news:
cbLote.Items.Insert(int index, object Item);

"Nuno Santos" wrote:

Hola grupo,

Tengo una combobox con dados de una tabla, pero quiero
que
el primer ítem del combo sea, por ejemplo: "-- Todos --", como puedo
hacer
para que el primer ítem de la combo sea el "--Todos --" y sólo después
vengan los ítems de la tabla.

Gracias de antemano,

Esto es lo que tengo:

myDll.LotesClass plLotes = new myDll.LotesClass();



ADODB.Recordset RS = plLotes .GetListaLotes();

DataSet ds = new DataSet();

OleDbDataAdapter da = new OleDbDataAdapter();

da.Fill(ds, RS, "Lotes");



this.cbLote.DataSource = ds;



this.cbLote.DataSource = ds.Tables["Lotes"].DefaultView;

this.cbLote.DisplayMember = "NumLote";

this.cbLote.ValueMember = "IdLote";

this.cbLote.FormatString = "0000";

plLotes = null;









Respuesta Responder a este mensaje
#4 [Juanjo]
24/07/2007 - 20:00 | Informe spam
Yo que lo que hago normalmentes es:
1. LLeno el DataTable que contendra los datos del combo (como lo haces tu)
2. Inserto una nueva fila en la primera posicion del datatable.

Creo que si primero insertas la fila y el metodo Fill esta configurado por
defecto con
ClearBeforeFill=true te borra todo lo que tienes en el datatable por lo que
pierdes la
primera fila.

Un saludo.



"Nuno Santos" <nunos7@[REMOVER]hotmail.com> escribió en el mensaje
news:
Lo que hice:
DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
OleDbDataAdapter da = new OleDbDataAdapter();
da.Fill(dt, RS);
// Declare the array variable.
object[] rowArray = new object[2];
rowArray[0] = 0;
rowArray[1] = null;
dt.Rows[0].ItemArray = rowArray;
this.cbLote.DataSource = dt.DefaultView;


NS



"Nuno Santos" <nunos7@[REMOVER]hotmail.com> wrote in message
news:
Gracias por responder,
Pero creo que no entiendo bien... hago el insert, pero despues al hacer
el datasource = ds se sobrepone al insert, cierto?

NS

"carlosmsr" wrote in message
news:
cbLote.Items.Insert(int index, object Item);

"Nuno Santos" wrote:

Hola grupo,

Tengo una combobox con dados de una tabla, pero quiero
que
el primer ítem del combo sea, por ejemplo: "-- Todos --", como puedo
hacer
para que el primer ítem de la combo sea el "--Todos --" y sólo después
vengan los ítems de la tabla.

Gracias de antemano,

Esto es lo que tengo:

myDll.LotesClass plLotes = new myDll.LotesClass();



ADODB.Recordset RS = plLotes .GetListaLotes();

DataSet ds = new DataSet();

OleDbDataAdapter da = new OleDbDataAdapter();

da.Fill(ds, RS, "Lotes");



this.cbLote.DataSource = ds;



this.cbLote.DataSource = ds.Tables["Lotes"].DefaultView;

this.cbLote.DisplayMember = "NumLote";

this.cbLote.ValueMember = "IdLote";

this.cbLote.FormatString = "0000";

plLotes = null;













Respuesta Responder a este mensaje
#5 jcpc91
24/07/2007 - 22:32 | Informe spam
On 24 jul, 09:58, "Nuno Santos" <nunos7@[REMOVER]hotmail.com> wrote:

HOLA:

NO SE SI ENTENDÍ BIEN PERO LO KE PUEDES HACER ES ORDENAR TUS FILAS POR
NOMBRE KE TU KIERES Y TRAERLO ASI DESDE LA BASE DE DE DATOS PERO PARA
KE EL ITEM KE KIERES SEA EL PRIMERO TIENES KE PONER POR EJEMPLO ENTRE
PARENTESIS EL ITEM KE KIEREAS KE SEA EL PRIMERO POR EJEMPLO

SELECT nombrecolumna FROM TblMitabla ORDER BY nombrecolumna

y el item ke kieres ke sea el primero debe de estar entre parentesis
pero desde la base de datos por ejemplo
(NO ESPECIFICADO)
AGUILA
ALLIANCE
ANGILA
AROS
ETC...

LA CONSULTA TE LO ORDENARÁ DE ESTA FORMA PORKE PRIMERO VAN LOS
CARACTERES KE NO SEAN LETRAS COMO NÚMEROS O CARACTERES ESPECIALES COMO
LOS PARENTESIS PUNTOS ETC ENTONCES CUNDO LOS MUESTRES EN EL COMBOBOX
APARECERÁ PRIMERO SIEMPRE EL PRIMER ITEM "(NO ESPECIFICADO)" PORKE EL
CARACTER ES PARENTESISI Y VA PRIMERO ASI DE FÁCIL NADA DE ALGORITMOS
COMPLEJOS SOLO UNA CONSULTA ORDENADA
SI ES LO KE KREO KE ENTENDÍ PERO NO ESTOY SEGURO DE KE ES LO KE KIERES
POR EL TIPO DE RESPUESTAS COMPLEJAS KE TE HAN DE ENVIADO
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida