Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Saber que boton hizo clic en el gridview

435 views
Skip to first unread message

Lord Voldemort

unread,
Oct 11, 2006, 11:46:24 AM10/11/06
to
Hola Grupaso

Tengo un gridview y algunos botones o link digamos, digamos tengo tres
botones boton1, boton2, boton3, ¿como puedo idenficar en que boton hizo
click el usuario?

gracias..

Lord Voldemort
Choluteca, Honduras
Visual Studio 2005 Standard


Matias Iacono

unread,
Oct 11, 2006, 12:01:02 PM10/11/06
to
Mas abajo, se toca un tema similar.

Te copio algunos links sobre el uso de ITEM COMMAND.

>>>>>>>>>>

(Si no mal me acuerdo, ItemCommand del
DataGrid)

Este evento te retornara toda la fila que disparo el evento, por lo que
puedes tomar cada uno de los valores de sus celdas, incluso los textbox y
hacer el calculo necesario. Finalmente, asignar el valor resultante al
textbox en cuestion.

Links sobre el item command:

http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.itemcommand.aspx

http://aspnet.4guysfromrolla.com/articles/021203-1.aspx

http://authors.aspalliance.com/aspxtreme/sys/Web/ui/webcontrols/datagridclassitemcommand.aspx

Saludos.

<<<<<<<<<<<<<<<

Saludos.


--
Microsoft MVP
Orador Regional INETA

Jose A. Fernandez

unread,
Oct 11, 2006, 1:00:28 PM10/11/06
to
Exactamente como te comentas Matias
a cada boton le asignas un comando

unBoton.CommandName = "EJEMPLO"
unBoton.CommandArgument = unIdentificador (por ejemplo el
Id o algun valor que necesites luego)

Entonces en el evento _RowCommand del gridview realizas las acciones
que necesitas

Protected Sub gvDevoluciones_RowCommand(ByVal sender As Object, ByVal e
As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles
gvDevoluciones.RowCommand
Select Case e.CommandName
Case "EJEMPLO"
Dim valor As String = e.CommandArgument
End Select
End Sub

En la propiedad e.CommandArgument tienes el argumento o valor que
enviaste del comando


Enlaces:
GridView.RowCommand (Evento)
http://msdn2.microsoft.com/es-es/library/system.web.ui.webcontrols.gridview.rowcommand.aspx

Espero que te sirva de ayuda o guia
______________________
Jose A. Fernandez

Matias Iacono ha escrito:

Lord Voldemort

unread,
Oct 11, 2006, 5:42:08 PM10/11/06
to
oki...Gracias Jose...sip mas o menos por ahi iva con los ejemplo que paso
Matias..
ahora me da un problemita.. tengo en esa grilla dos campos ID, o sea dos
columnas visible =False, pero desgraciadamente los puedo ver.. no puedo ver
los valores que estan en la columnas que tienen ID.

y si uso el evento selectindexchange de la grilla no puedo saber que boton
hizo clik pero puedo obtener los ID...

bueno


--
Que todo este bonito...

Lord Voldemort
Choluteca, Honduras
Visual Studio 2005 Standard


"Jose A. Fernandez" <ferna...@gmail.com> wrote in message
news:1160586028....@c28g2000cwb.googlegroups.com...

Lord Voldemort

unread,
Oct 12, 2006, 9:51:42 AM10/12/06
to
Jose

si quiero utilizar esto.. como seria?


unBoton.CommandName = "EJEMPLO"
unBoton.CommandArgument = unIdentificador (por ejemplo el Id o

algun valor que necesites luego)...
en este caso este "unIdentificador" como seria para pasarlo, digamos yo
tengo IDNota y IDAlumno en mi grilla como le pasaria en el commandargument
uno de los dos ID o si es posible los dos IDs...

Gracias...


"Jose A. Fernandez" <ferna...@gmail.com> wrote in message
news:1160586028....@c28g2000cwb.googlegroups.com...

Jose A. Fernandez

unread,
Oct 12, 2006, 12:01:16 PM10/12/06
to
Hola....
Podrias por ejemplo en en evento del gridview _RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then
-Aqui van tus acciones por cada fila de datos....

Deberias:
1) Recuperar el boton
Dim btnEjemplo as Button =
Ctype(e.Row.FindControl("btnEjemplo "), Button)
2) y vas recuperando tambien los id que vienen de cada fila de
tu tabla proveedora de datos
Dim IDNota As Int32=
convert.Toint32(DataBinder.Eval(e.Row.DataItem, "IDNota "))
Dim IDAlumno As Int32=
convert.Toint32(DataBinder.Eval(e.Row.DataItem, "IDAlumno "))

btnEjemplo.CommandName = "EJEMPLO"
btnEjemplo.CommandArgument = IDNota.ToString & "," & IDAlumno
.ToString

Y cuando obtienes en el evento RowCommand recuperas los datos y realizs
un Split del contenido de CommandArgument ....
Dim valores() as string = e.CommandArgument.ToString.Split(",")
y los valores lo tienes por la posicion
valores(0).ToString


Debe existir otra manera de obtener los datos de esa fila, pero alli lo
tienes directamente en el argumento, ... la otra forma de obtner esos
valores es que lo tengas en la coleeccion DatakeyNames
http://groups.google.com.ar/group/microsoft.public.es.dotnet.aspnet/msg/4b38f179b8e522b8?hl=es&


Enlaces:
-------------------
GridView.RowDataBound (Evento)
Se produce cuando una fila de datos se enlaza a los datos de un control
GridView.
http://msdn2.microsoft.com/es-es/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx

Espero que te sirva de ayuda o guia
___________________

Jose A. Fernandez

Lord Voldemort ha escrito:

Lord Voldemort

unread,
Oct 12, 2006, 1:19:49 PM10/12/06
to
YEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAA
.
Increiblemente funciona.. jamas hubiera dato sin tu ayuda Jose..
muchas gracias a Ti y tambien a Matias que por ustedes salio la lus de sol..

te comento haciendo pruebas con el DatakeyNames en el evento RowDeleted en
una grilla llenada por codigo o sea a pelo, no funciona pero en un grilla
que esta conectada a un control datasource si funciona. bueno por ahora me
importa que si me funciono lo que me dijistes con el commandargs...

Saludos...


--
Que todo este bonito...

Lord Voldemort


Choluteca, Honduras
Visual Studio 2005 Standard

"Jose A. Fernandez" <ferna...@gmail.com> wrote in message
news:1160668876.1...@e3g2000cwe.googlegroups.com...

Jose A. Fernandez

unread,
Oct 12, 2006, 1:24:58 PM10/12/06
to
Me Alegro por tanta euforia.. jeje
a proposito cual es tu nombre?

Un abrazo
________________________

Lord Voldemort

unread,
Oct 12, 2006, 4:47:28 PM10/12/06
to
jejeje.. Mucho gusto... Jose... mi nombre es
Jairo Josue Hernandez Moreno....

jejeje ahorita estamos super euforicos que van a compran nuevos portatiles
en la empresa pero seran nuestras con una minima paga...solo falta que me
traigan mi plymouth tambien jejeje...

saludos desde el sur de honduras, centro america.


"Jose A. Fernandez" <ferna...@gmail.com> wrote in message

news:1160673897.9...@m7g2000cwm.googlegroups.com...

0 new messages