Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 02-oct-2006, 11:35   #1 (permalink)
srforoweb ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2006
Mensajes: 9
Index en una GridView

Tengo una GridView en la que defini un TemplateField de la siguiente forma:
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="Imp" runat="server"
CommandName="Imp" Height="25px" ImageUrl="~/images/imp.JPG"
ToolTip="Imprimir" Width="25px" />
</ItemTemplate>
</asp:TemplateField>

El evento que disparo al ejecutar este template es:
protected void gvTramites_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Imp")
{
string i = gvTramites.SelectedDataKey.Value.ToString();
..........
}
}
El problema que tengo es que "i" siempre tiene el mismo valor, no me toma el index. Como hago para obtener el ID de la fila donde clickeo el template?.
Muchas gracias por la ayuda que puedan darme.
srforoweb está desconectado   Responder Citando
Antiguo 02-oct-2006, 12:45   #2 (permalink)
Gelipon no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2006
Mensajes: 44
Enviar un mensaje por MSN a Gelipon
Que tal amigo(a), es muy sencillo, suponiendo que tu traes un Id que tu ya consultaste solo tienes que bindearlo a tu ImageButton de la siguiente manera
<asp:ImageButton ID="Imp" runat="server"
CommandName="Imp" Height="25px" ImageUrl="~/images/imp.JPG"
ToolTip="Imprimir" Width="25px" CommandArgument='<%# Eval("Id")%>'/> estamos hablando del ImageButton que se encuentra dentro de tu template, para que te sirve el command argument?, facil ahora el Id que tu quieres recuperar y que siempre será distinto si tus renglones del grid no se repiten estará contenido dentro de la propiedad e.CommandArgument, es decir, ahora tu código dentro del evento será así: string i=e.CommandArgument.Tostring();
Gelipon está desconectado   Responder Citando
Antiguo 02-oct-2006, 13:04   #3 (permalink)
srforoweb ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2006
Mensajes: 9
Voy a probarlo pero antes, y si no es mucha molestia, tengo un par de dudas de tu respuesta:
1- que significa '<%# Eval("Id")%>'
2- en que evento debo hacer string i=e.CommandArgument.Tostring();

Muchas gracias, saludos.
una amiga
srforoweb está desconectado   Responder Citando
Antiguo 02-oct-2006, 20:44   #4 (permalink)
Gelipon no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2006
Mensajes: 44
Enviar un mensaje por MSN a Gelipon
1 - Ahh mira al proceso de poner '<%# Eval("Id")%>' en un Label, ImageButon u cualquier objeto compatible se le llama bindear, Eval es un valor que tu traes dentro de una propiedad del objeto del cual es tu lista, dentro de los parentesis puedes poner lo mismo un Id que cualquier campo de tu objeto, esto tambien se puede hacer gráficamente en la opción EditTemplates de tu GridView, das click en esa opcion y te aparecerán desglosadas esas columnas, pues si das click derecho sobre la imagen o cualquier objeto, te aparece una opcion que dice EditDatabindings y pues ahi ya puedes poner este mismo eval, pero sin tanto rollo, solo siguiendo esta notacion Eval("CampoOProperty").

2 - Perdona amiga, me qeuivoqué no es evento, es mas bien en la sección de código que tu ya tienes, me refiero a esta, ahora corregida por mi si los cálculos no me fallan jeje:

protected void gvTramites_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Imp")
{
string i=e.CommandArgument.Tostring();
..........
}
}
lo que haces ahi es decirle que a i le asigne el argumento que tu le bindeaste al ImageButton en la propiedad CommandArgument desde tu código Asp.

Oye, espero te sirva de algo sale?, porke no nos comunicamos mas de cerca, te envié un mensaje privado, asi podrmos compartir mas datos de esto si tu quieres claro, allos
Gelipon está desconectado   Responder Citando
Antiguo 04-oct-2006, 13:25   #5 (permalink)
srforoweb ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2006
Mensajes: 9
Mil gracias por tu ayuda que ademas de clara funciono perfectamente.
Saludos.
srforoweb está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 5,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:21.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93