SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: nandoelpoeta en Lunes 30 de Abril de 2007, 18:34
-
HOLA
TENGO UN LISTBOX ENLAZADO A UNA BASE DE DATOS DE CIUDADES , MI PROBLEMA ES QUE CUANDO SELECCIONO UN ELEMENTO DEL LISTBOX , ME MUESTRA LO SIGUIENTE EN UN TEXTBOX System.Data.DataRowView , EN VES DE MOSTRARME EL NOMBRE DE LA CIUDAD, EL CODIGO QUE TENGO ES EL SIGUIENTE:
private void listabarrios_SelectedIndexChanged(object sender, EventArgs e)
{
Int nSelectedIndex = listado.SelectedIndex;
txtnuevo.Text = Convert.ToString(listado.SelectedItem);
}
EN EL TXTNUEVO.TEXT ME MUESTRA: System.Data.DataRowView PORQUE OCURRE ESTO , QUE ESTOY HACIENDO MAL ?
alguien me puede ayudar gracias
-
hay algo que me llama la atención, el evento es del control "listabarrios" pero vos estás sacando el item seleccionado de "listado". Esto está ok?
Porque el SelectedItem de un ListBox no devuelve un DataRowView, sino un Object. Y a vos te esta pasando eso, que te devuelve un DataRowView y el metodo toString por defecto de esta clase devuelve el nombre y namespace al que pertenece.
-
si haces esto ?
txtnuevo.Text = listado.SelectedItem.tostring();
-
HOLA
BUENO SI HAGO LO SIGUIENTE :
txtnuevo.text= listado.selecteditem; me tira el siguiente error:
Error 1: No se puede convertir implícitamente el tipo 'object' en 'string'. Ya existe una conversión explícita (compruebe si le falta una conversión)
Y SI HAGO :
txtnuevo.text = Convert.tostring (listado.selecteditem); no me da error pero me sigue mostrando : System.Data.DataRowView en eltxtnuevo.text.
probe haciendolo en vb y el msmo problema , con respecto al evento esta todo ok , que puede ser para colmo no encuentro nada en internet.
por favor ayuda ..
gracias
-
listado.SelectedItem.TOSTRING();
probastes con eso ?
El método tostring te devuelve en formato string el valor seleccionado
-
si es un datarow quizá tengas que ponerle un índice, algo como listado.selectedItem[0].. ¿no?
-
HOLA
GRACIAS A TODOS POR LAS RESPUESTAS , LA VERDAD TUVE QUE RECURRIR A PAGINAS EN INGLES YA QUE EN ESPAÑOL HAY POCA DOCUMENTACION BUENO LA SOLUCION ES LA SIGUIENTE:
private void listado_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (DataRowView objDataRowView in listado.SelectedItems)
{
txtnuevo.Text= objDataRowView["Nombre"].ToString();
}
}
TODO ESTE CODIGO ES PARA CUANDO EL LISTBOX ESTA ENLAZADO A UNA BASE DE DATOS EN MI CASO SQL SERVER, YA QUE SI SOLO TENGO UNA COLECCION DE ITEMS STRING LA SOLUCION ES MAS SIMPLE:
TXTNUEVO.TEXT= LISTADO.SELECTEDITEM; Y TODO ACABA ALLI.
BUENO GRACIAS A TODOS Y ESPERO LE SIRVA A ALGUIEN QUE VAYA A USARLO.