none
Como hacer referencia al elemento seleccionado de un listview RRS feed

  • Pregunta

  • Hola chicos,

    Buenas noches. Una duda, estoy haciendo uso de un Listview donde muestro mis productos, dentro de cada casilla tengo la imagen del producto, nombre, precio... Quiero hacer referencia al elemento seleccionado por el usuario. ¿Alguien sabe como? Estoy usando Visual Studio 2008, C# y el diseño es en mosaico, por si sirven de algo estos datos

    Muchas gracias de antemano

    Araceli
    lunes, 28 de septiembre de 2009 1:11

Respuestas

  • hola

    tienes que utilizar la propiedad ListView. SelectedValue

    como veras en el ejemplo del link se hace uso de la propiedad DataKeyNames , para especificar el campo que determinara cual es la clave que identifica cada registro

    y esta sera la que viaje a tu propiedad SelectedValue


    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Araceli S jueves, 15 de octubre de 2009 6:11
    lunes, 28 de septiembre de 2009 1:43

Todas las respuestas

  • hola

    tienes que utilizar la propiedad ListView. SelectedValue

    como veras en el ejemplo del link se hace uso de la propiedad DataKeyNames , para especificar el campo que determinara cual es la clave que identifica cada registro

    y esta sera la que viaje a tu propiedad SelectedValue


    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Araceli S jueves, 15 de octubre de 2009 6:11
    lunes, 28 de septiembre de 2009 1:43
  • Buenas tardes, gracias por tu respuesta, pero sigo teniendo problemas...

    - Estoy trabajando con C#
    - Mi listview esta en vista mosaico
    - Mi listview no entra al metodo _SelectedIndexChanged(object sender, EventArgs e)
    - Dentro del listview, en cada uno de sus elementos (items) tengo una imagen del articulo, un boton para seleccionar el articulo y un label oculto que contiene el id (que lo jala desde la base de datos) del articulo que estoy mostrando
    - Como no entra al metodo _SelectedIndexChanged estoy trabajando en el evento btnAgregar_Click de mi boton (este boton aparece en cada uno de los elementos mostrados en mi listview)
    - Quiero que al hacer click el usuario, pueda yo recuperar el id que esta en el label oculto. Pero obviamente antes de recuperar el id del label necesito:
             -Recuperar el elemento (item) seleccionado por el usuario en el listview .

    Te agradeceria muchísimo si me hicieras saber mi error. Listview.SelectedValue no lo puedo usar, lo usé dentro de btnAgregar_Click de esta forma
                                                                      
                                                                         Object c = MiListview.SelectedValue;

    Pero me envia null tal vez porque no estoy entrando al metodo adecuado.

    Ayuda porfavor!!!


    Saludos
    .
    sábado, 3 de octubre de 2009 18:30
  • hola

    consulta se trata de una aplicacion web ?

    porque me deja confuso cuando comentas de la vista mosaico, o sea hay un listview en web y en winforms
    que yo separa el listview en web no tiene este tipo de vista

    ademas esta lista es sobre desarrollo web, por eso la respuesta que te di en principio estaba orientada al listview web

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 6 de octubre de 2009 4:13
  • Hola Leandro...

    Gracias por tu atencion nuevamente. Si es una aplicacion web, es un listview en un webform. Cuando agregas el listview, con un click sobre el listview aparece el menu a la derecha, te vas a Configurar listview, seleccionar un diseño, y ahi viene la opcion "En mosaico", es la misma de la que estamos hablando?

    En fin, aunque mi listview tiene esta opcion de "en mosaico", solo tiene una fila y tres columnas. Como te comentaba ya resolví el problema para tomar el valor del item seleccionado. Tenias razon, me hacía falta el boton "Select" (oh pequeño detalle jeje)

    Perdon por la ignorancia pero mi problemita sigue con que no muestra la imagen despues de hacer click sobre el item... me decía que tenía que llamar nuevamente al llenado de los datos, pero mi duda era que mi listview lo estoy llenando con un SqlDataSource, entonces no tengo idea como llenarlo nuevamente para que siga el mismo formato del item (con la imagen, el boton...) despues de hacer click sobre el.

    Gracias y Saludos
    martes, 6 de octubre de 2009 4:31
  • Hola Leandro.

    Sigo con mi listview. Resulta que la vez pasada bajé el controlador para poder hacer uso del control MySqlDatasource. Se venció mi fecha de prueba y me vi en la necesidad de usar codigó, asi fue como descubrí que podía hacer el enlace mediante codigo de mi listview con mi Base de Datos sin necesidad de usar un control MySqlDataSource. Mi codigo esta asi:


      string strSql = "SELECT *FROM productos;";

                DataSet datProductos = new DataSet();//cache de memoria interna de datos
                Conexion.abrirBD();
                datProductos = Conexion.datos(strSql);
                Conexion.cerrarBD();           
                lvproductos.DataSource = datProductos;
                lvproductos.DataBind();

    Por cierto lo de la imagen que me desaparecía, ya no es un problema. Ahora si me deja el formato cuando selecciono el item. :)

    Ahora mi problema es que no me permite ir de una pagina a la siguiente. He intentado insertar un DataPager pero no funciona. No pasa a la siguiente pagina cuando hago click.

    No se si sirva el dato pero ahora no me permite hacer el formato del listview  mediante el menu que aparecia en la parte derecha, dando click. Ya no aparece el menú completo, ahora solo tiene la opcion "Elegir origen de datos" ya no aparecen las otras que era "Configurar Listview" ... Me imagino porque estoy haciendo la coneccion por medio de codigo no?

    Espero puedas ayudarme una vez mas.


    Saludos
    • Propuesto como respuesta gudjohnsen89 lunes, 28 de mayo de 2012 22:36
    • Votado como útil gudjohnsen89 lunes, 28 de mayo de 2012 22:36
    jueves, 15 de octubre de 2009 6:11
  • como lo resolviste araceli es que yo tambien tengo el mismo problema
    lunes, 28 de mayo de 2012 23:14