ItemData en checkedListBox

31/03/2005 - 16:56 por Miquel | Informe spam
Hola,

Tengo un DataTable con algunas filas. Cada fila, contiene 2 columnas. La
primera es un numero, y la segunda es un texto.
Mi intencion es rellenar un checkedListBox con esos datos, de forma que
muestre el texto, y que el numero quede almacenado (de alguna forma) como se
hacia en un listbox (con el itemData), para que cuando el usuario seleccione
algun elemento, yo pueda recuperar su numero asociado

pero... no sé como hacerlo...

Alguna pista?
Grácias

Preguntas similare

Leer las respuestas

#1 Angel J. Hernández M.
01/04/2005 - 15:56 | Informe spam
Debes crear una clase que sobreescriba el método ToString() el cual será el
texto mostrado por el Item en el control (CheckedListBox). A continuación te
muestro como debería ser:

class ItemLista {
private string m_texto;
private object m_valor;

public string Texto {
get {return m_texto;}
}

public object Valor {
get {return m_valor;}
}

public ItemLista(string texto, object valor) {
m_texto = texto;
m_valor = valor;
}

public override string ToString() {
return m_texto; // Este miembro es el mostrado en la lista
}
}


En el formulario cuando llenas el control, supongamos que es en el evento
Load del mismo luciría así

private void Form1_Load(object sender, System.EventArgs e) {
// Agregamos Items al CheckedListBox y estos son instancias de la clase
ItemLista. Si quieres obtener el valor de los Items
// marcados lo haces a partir de la colección CheckedItems, así puedes
iterar por la misma y recuperar el valor del campo
// que correspondería al valor que te interesa.

checkedListBox1.Items.Add(new ItemLista("Uno",1), false);
checkedListBox1.Items.Add(new ItemLista("Dos",2), false);
checkedListBox1.Items.Add(new ItemLista("Tres",3), false);
}

Espero que sea de tu utilidad,

Saludos,


Angel J. Hernández M.
MCP - MCAD - MCSD - MCDBA
http://groups.msn.com/desarrolladoresmiranda





"Miquel" wrote in message
news:
Hola,

Tengo un DataTable con algunas filas. Cada fila, contiene 2 columnas. La
primera es un numero, y la segunda es un texto.
Mi intencion es rellenar un checkedListBox con esos datos, de forma que
muestre el texto, y que el numero quede almacenado (de alguna forma) como
se
hacia en un listbox (con el itemData), para que cuando el usuario
seleccione
algun elemento, yo pueda recuperar su numero asociado

pero... no sé como hacerlo...

Alguna pista?
Grácias


Respuesta Responder a este mensaje
#2 Miquel
01/04/2005 - 16:20 | Informe spam
Perfecto!
muchas grácias,

Miquel

"Angel J. Hernández M." escribió en el mensaje
news:
Debes crear una clase que sobreescriba el método ToString() el cual será


el
texto mostrado por el Item en el control (CheckedListBox). A continuación


te
muestro como debería ser:

class ItemLista {
private string m_texto;
private object m_valor;

public string Texto {
get {return m_texto;}
}

public object Valor {
get {return m_valor;}
}

public ItemLista(string texto, object valor) {
m_texto = texto;
m_valor = valor;
}

public override string ToString() {
return m_texto; // Este miembro es el mostrado en la lista
}
}


En el formulario cuando llenas el control, supongamos que es en el evento
Load del mismo luciría así

private void Form1_Load(object sender, System.EventArgs e) {
// Agregamos Items al CheckedListBox y estos son instancias de la


clase
ItemLista. Si quieres obtener el valor de los Items
// marcados lo haces a partir de la colección CheckedItems, así


puedes
iterar por la misma y recuperar el valor del campo
// que correspondería al valor que te interesa.

checkedListBox1.Items.Add(new ItemLista("Uno",1), false);
checkedListBox1.Items.Add(new ItemLista("Dos",2), false);
checkedListBox1.Items.Add(new ItemLista("Tres",3), false);
}

Espero que sea de tu utilidad,

Saludos,


Angel J. Hernández M.
MCP - MCAD - MCSD - MCDBA
http://groups.msn.com/desarrolladoresmiranda





"Miquel" wrote in message
news:
> Hola,
>
> Tengo un DataTable con algunas filas. Cada fila, contiene 2 columnas. La
> primera es un numero, y la segunda es un texto.
> Mi intencion es rellenar un checkedListBox con esos datos, de forma que
> muestre el texto, y que el numero quede almacenado (de alguna forma)


como
> se
> hacia en un listbox (con el itemData), para que cuando el usuario
> seleccione
> algun elemento, yo pueda recuperar su numero asociado
>
> pero... no sé como hacerlo...
>
> Alguna pista?
> Grácias
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida