none
Activar seleccion en griedview y obtener un dato RRS feed

  • Pregunta

  • Hola necesito como saber como poder seleccionar un elemento luego de hacer una consulta que me trae muchos registro, luego de que traigo la consulta y selecciono una necesito de esa linia un dato como ser el ID de la fila seleccionada y luego pasarla a otra ventana y usar ese valor para realizar otra consulta.

    La tipoca accion de modificacion de una elemento en una tabla con dos ventanas.

    Saludos

    viernes, 30 de marzo de 2012 14:01

Respuestas

  • hola

    estas cargando un datatable cuando haces esto ?

    porque podrias usar

    Dim row As DataRow =Nothing

    If dt.Rows.Count > 0 Then

       row= dt.Rows(0)

    End If

    en este caso tomas la primer fila, validando si es que hay alguna

    Nota: no olvides mencionar cuando consultas en que lenguaje programas

    ----

    igualmente si la idea es editar no deberias

    [ASP.NET] GridView – Edición Empleados

    o sea en el grid listas y luego redireccioans para editar


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina



    viernes, 30 de marzo de 2012 14:05

Todas las respuestas

  • hola

    estas cargando un datatable cuando haces esto ?

    porque podrias usar

    Dim row As DataRow =Nothing

    If dt.Rows.Count > 0 Then

       row= dt.Rows(0)

    End If

    en este caso tomas la primer fila, validando si es que hay alguna

    Nota: no olvides mencionar cuando consultas en que lenguaje programas

    ----

    igualmente si la idea es editar no deberias

    [ASP.NET] GridView – Edición Empleados

    o sea en el grid listas y luego redireccioans para editar


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina



    viernes, 30 de marzo de 2012 14:05
  • Estimado Leandro:

    si cargo un datatable y con ese elemento relleno el griedview y se que traigo datos porque los veo en el table

    el lenguaje es visual .net

    viernes, 30 de marzo de 2012 14:09
  • analiza el articulo del link, porque hay tecnicas mas simple para editar

    o sea de una query a la db puede recuperar solo un registro no es necesario trabjar directo con un datatable

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 30 de marzo de 2012 14:13
  • hola entendi que tengo que habilitar dentro del grid la opcion para que haga algo cuando se hace clic pero no entendi como, ni tampoco como obtener el dato que quiero seleccionar.

    y el link no es en visual .net y la verdad que no entiendo el codigo.

    viernes, 30 de marzo de 2012 14:31
  • Puedes usar el evento SelectedIndexChanged si deseas recuperarlo al momento y si no de todas maneras lo usas y guardas el dato en una variable de session algo mas o menos así:

      void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
      {
        
        
        GridViewRow row = CustomersGridView.SelectedRow;
        Session["NameCustomer"] = row.Cells[2].Text 
        
      }

    y luego pasarla a otra ventana:

    Lo puedes hacer con Response.Redirect, si no quieres utilizar variables de sesión y luego recuperar en la otra venta el valor

    Response.redirect("otherpage.aspx?name_customer="+HttpUtility.HtmlDecode(row.Cells[2].Text)+"",true)             

    Page.Requeset.Parameter.Item("name_customer").value

    La sintaxis corrigela pero básicamente esta sería la idea si así lo quieres manejar.

    Saludos!

    viernes, 30 de marzo de 2012 14:39
  • ni tampoco como obtener el dato que quiero seleccionar.

    usas el DataKeyNames para definir el campo id o codigo de la entidad

    ese valor con el DataKeys es que lo tomas y envias a la otra pagina para seleccionar un registro unico mediente una query

    pero tomas un dato unico con un WHERE en el SELECT filtriando por el id de la entidad que se selecciono

    eso es lo que plantea el articulo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 30 de marzo de 2012 14:42
  • Mira aquí Leandro lo explica mejor y en Visual Basic .NET:

    http://ltuttini.blogspot.mx/2011/06/aspnetgridview-como-seleccionar-una.html

    viernes, 30 de marzo de 2012 14:43
  • Encontre en el link que pusistes como hacer la seleccion pero lo que no me gusta es que aparesca a la izquierda la palabra selccion yo quiero que el usuario pueda seleccionar cualquier fila sin la necesidad de hacer clic en esa palabra, solo tocando la linea de la tabla que necesita.

    y con respecto a pasar la info a otra pagina no e podido dar con nada que me oriente como hacerlo

    recuerdo que el lenguaje es visual .net

    viernes, 30 de marzo de 2012 15:42
  • puramente click en cualquier parte de la fila tendrias que aplicar ajax o un control de terceros, como jqgrid, o basandote en el ejemplo de leandro, agregar template columns con botones o links en cada columna

    de otra manera, puedes cambiar la palabra por una imagen o por alguna otra palabra, revisa las propiedades de la columna (en concreto ButtonType, SelectImageURL y SelectText) y te daras cuenta que puedes realizar esto de manera muy sencilla, de echo leandro muestra como hacerlo en el link que te mostraron arriba y si lo que quieres es que se vea bien esta es una buena opción, si no tienes iconos puedes revisar en icon finder


    viernes, 30 de marzo de 2012 16:00