Foros del Web » Programación para mayores de 30 ;) » .NET »

Como puedo identificar un boton dentro de un gridview (hay 2 botones)

Estas en el tema de Como puedo identificar un boton dentro de un gridview (hay 2 botones) en el foro de .NET en Foros del Web. amigos: resulta que tengo un gridview con dos botones (ELIMINAR Y MODIFICAR), resulta que ambos botones los eh cargado en en modo visual con el ...
  #1 (permalink)  
Antiguo 27/09/2010, 21:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 10 años, 3 meses
Puntos: 0
Como puedo identificar un boton dentro de un gridview (hay 2 botones)

amigos:

resulta que tengo un gridview con dos botones (ELIMINAR Y MODIFICAR), resulta que ambos botones los eh cargado en en modo visual con el visual studio, y ambos son botones de selección, el problema es que cuando aprieto el botón hace los que esta dentro de el "GridView1_SelectedIndexChanged", lo q es logico porque ambos botones son de seleccion, mi pregunta es , como puedo hacer para identificar que boton se esta apretando, ojala me puedan ayudar se los agradeceria mucho

actualmente mi "GridView1_SelectedIndexChanged" esta asi:
Código ASP:
Ver original
  1. Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
  2.  
  3.         Dim id As Integer
  4.         Dim validar As Integer
  5.  
  6.         id = Convert.ToInt32(GridView1.Rows(Convert.ToInt32(GridView1.SelectedIndex.ToString)).Cells(2).Text.ToString)
  7.  
  8.         Dim borra As Usuarios = New Usuarios(Nombre.Text, Apellido.Text, Rut.Text, _
  9.                                                    pass1.Text, mail.Text, _
  10.                                                    Convert.ToInt32(tipo_usuario.SelectedValue), id)
  11.         validar = borra.eliminarUsuario()
  12.  
  13.         Cargar_grid()
  14.     End Sub

lógicamente esto solo elimina, pero dentro de el metodo me gustaria poner una opcion "if()" para hacer una operacion cuando aprieta en modificar y hacer otra distinta cuando aprieto eliminar.

saludos

PD: ABAJO un link de el gridview

http://yfrog.com/izsinttulonop
  #2 (permalink)  
Antiguo 27/09/2010, 22:06
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 10 años, 4 meses
Puntos: 8
Respuesta: Como puedo identificar un boton dentro de un gridview (hay 2 botones)

Te comento que no es necesario hacer una condicion para evaluar el boton presionado.

Lo que sugiero que hagas es en "Modo visual" hacer doble click sobre cada botón:

El código aspx, queda similar a esto como ya lo sabrás:

Código aspx:
Ver original
  1. <asp:Button ID="Button1" runat="server" Text="Button" />
  2.     <asp:Button ID="Button2" runat="server" Text="Button" />

Y el código vb seria como esto:

Código vb:
Ver original
  1. Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
  2.  
  3.     End Sub
  4.  
  5.     Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
  6.  
  7.     End Sub

Ahora se ha creado un método para cada botón y escribe dentro las instrucciones que desees ejecutar para cada botón.

Saludos,
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego
  #3 (permalink)  
Antiguo 27/09/2010, 22:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Como puedo identificar un boton dentro de un gridview (hay 2 botones)

gracias por la respuesta, el problema que tengo es que trato de seleccionar el boton del gridview y solo me selecciona el gridview mismo, no puedo elegir el boton en forma particular, por eso preguntaba como identifico que boton de los dos fue presionado, pq siempre me sale el metodo "GridView1_SelectedIndexChanged" cuando hago doble click al gridview. oljala alguien me pueda ayudar

gracias de antemano
  #4 (permalink)  
Antiguo 27/09/2010, 22:36
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 10 años, 4 meses
Puntos: 8
Respuesta: Como puedo identificar un boton dentro de un gridview (hay 2 botones)

Me causa un poco de curiosidad tu problema, creo que es algo no tan complejo pero no nos estamos entendiendo. Te pido si podrías detallar lo que necesitas y lo que no te sale, porque honestamente creo que no te capte bien.
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego
  #5 (permalink)  
Antiguo 27/09/2010, 22:51
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Como puedo identificar un boton dentro de un gridview (hay 2 botones)

bueno, sere un poco mas claro

resulta que yo agrego los botones en modo grafico de esta forma:

gridview -> editar columnas -> commandfield -> "seleccionar"

edito el nombre y en vez de seleccionar le pongo "eliminar", por lo tanto, cuando hago doble click en el gridview me envia al codebehing al metodo "GridView1_SelectedIndexChanged".

(ojo q selecciono el gridview, no puedo seleccionar el boton como me decias tu hace un momento).

entonces, cuando hay un boton (en este caso solo eliminar) es simple ya que el evento GridView1_SelectedIndexChanged es igual al del boton eliminar, por eso no necesito identificar que boton fue apretado (ya q solo existe uno).

asi lo hacia yo hasta ahora y todo funcionaba de maravilla.

mi problema ahora es cuando coloco otro boton en el gridview, en este caso el boton "modificar", este lo pongo de la misma forma en que puse el boton eliminar, pero resuta que como no puedo seleccionar el boton en forma particular y en vfez de eso se selecciona solo el gridview, tanto el boton eliminar como modificar me envian al mismo metodo (que es GridView1_SelectedIndexChanged).

por eso pregunto, como es posible identificar que boton se presiono.

por si sirve de algo aca esta el codigo en ASPX


Código ASP:
Ver original
  1. <asp:GridView ID="GridView1" runat="server" BackColor="LightGoldenrodYellow"
  2.             BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black"
  3.             Width="663px"  >
  4.             <Columns>
  5.                 <asp:CommandField ButtonType="Button" HeaderText="Modificar"
  6.                     SelectText="Modificar" ShowSelectButton="True" />
  7.                 <asp:CommandField ButtonType="Button"  HeaderText="Eliminar"  
  8.                     InsertImageUrl="~/Imagenes/eliminar.png" SelectText="Eliminar"
  9.                     ShowSelectButton="True" UpdateImageUrl="~/Imagenes/eliminar.png" />
  10.             </Columns>
  11.             <FooterStyle BackColor="Tan" />
  12.             <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue"
  13.                 HorizontalAlign="Center" />
  14.             <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
  15.             <HeaderStyle BackColor="Tan" Font-Bold="True" />
  16.             <AlternatingRowStyle BackColor="PaleGoldenrod" />
  17.         </asp:GridView>

y aca el metodo que me envia al hacer doble click sobre el gridview

Código ASP:
Ver original
  1. Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
  2.  
  3.         Dim id As Integer
  4.         Dim validar As Integer
  5.  
  6.         id = Convert.ToInt32(GridView1.Rows(Convert.ToInt32(GridView1.SelectedIndex.ToString)).Cells(2).Text.ToString)
  7.  
  8.         Dim borra As Usuarios = New Usuarios(Nombre.Text, Apellido.Text, Rut.Text, _
  9.                                                    pass1.Text, mail.Text, _
  10.                                                    Convert.ToInt32(tipo_usuario.SelectedValue), id)
  11.         validar = borra.eliminarUsuario()
  12.  
  13.         Cargar_grid()
  14.     End Sub

gracias de antemano

SALUDOS::
  #6 (permalink)  
Antiguo 30/09/2010, 14:57
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Como puedo identificar un boton dentro de un gridview (hay 2 botones)

alguien que me pueda ayudar??
  #7 (permalink)  
Antiguo 30/09/2010, 16:43
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 10 años, 4 meses
Puntos: 8
Respuesta: Como puedo identificar un boton dentro de un gridview (hay 2 botones)

No había tenido tiempo para responderte, ya lo resolví:

Código ASPX:
Ver original
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="FdelW_GridViewCommand._Default" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" >
  6. <head runat="server">
  7.     <title></title>
  8. </head>
  9. <body>
  10.     <form id="form1" runat="server">
  11.     <div>
  12.         <asp:GridView ID="GridView1" runat="server"
  13.          OnSelectedIndexChanged="GridView1_SelectedIndexChanged"
  14.              OnRowEditing="GridView1_RowEditing"
  15.               OnRowDeleting="GridView1_RowDeleting">
  16.             <Columns>
  17.            
  18.                 <asp:CommandField ShowEditButton="True" />
  19.                 <asp:CommandField ShowDeleteButton="True" />                
  20.                 <asp:CommandField ShowSelectButton="True" />
  21.                
  22.             </Columns>
  23.  
  24.         </asp:GridView>
  25.         <asp:Label ID="LabelMensaje" runat="server" Text="Label" Visible="false"></asp:Label>
  26.     </div>
  27.    
  28.     </form>
  29. </body>
  30. </html>


Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data;
  8.  
  9. namespace FdelW_GridViewCommand
  10. {
  11.     public partial class _Default : System.Web.UI.Page
  12.     {
  13.         protected void Page_Load(object sender, EventArgs e)
  14.         {
  15.  
  16.                 DataTable dt = new DataTable();
  17.  
  18.                 dt.Columns.Add("ID", System.Type.GetType("System.String"));
  19.                 dt.Columns.Add("Nombre", System.Type.GetType("System.String"));
  20.  
  21.                 dt.Rows.Add("A001", "Jose Jose");
  22.                 dt.Rows.Add("B001", "Maria Azucena");
  23.                 dt.Rows.Add("C001", "Marcos Hoss");
  24.  
  25.                 GridView1.DataSource = dt;
  26.                 GridView1.DataBind();
  27.         }
  28.  
  29.         protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
  30.         {
  31.  
  32.                 LabelMensaje.Text = "Boton Seleccionar";
  33.                 LabelMensaje.Visible = true;
  34.         }
  35.  
  36.         protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
  37.         {
  38.             LabelMensaje.Visible = true;
  39.             LabelMensaje.Text = "Boton Borrar";
  40.         }
  41.  
  42.         protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
  43.         {
  44.             LabelMensaje.Visible = true;
  45.             LabelMensaje.Text = "Boton Editar";
  46.         }
  47.     }
  48. }

Si necesitas que te lo explique, házmelo saber. Saludos, espero que te sea de mucha ayuda.
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego
  #8 (permalink)  
Antiguo 03/10/2010, 17:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Como puedo identificar un boton dentro de un gridview (hay 2 botones)

muchas gracias!! me fue de mucha utilidad

SALUDOS::

Etiquetas: botones, gridview, identificador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:33.