Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/06/2007, 10:14
Stream
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Re: C# 2.0 - Conocer el INDEX de la ROW de un GridView.

Utilizando el evento GridView1_RowCommand
Código:
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
            Font-Names="Verdana" Font-Size="10pt" ForeColor="#333333" GridLines="None" OnRowCommand="GridView1_RowCommand">
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("IdUsuario") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Nombre" HeaderText="Nombre del usuario" />
                <asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Bind("IdUsuario") %>'
                            CommandName="Select" Text="Select"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <EditRowStyle BackColor="#999999" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>
CODIGO C#

Código:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        { 
            //Carga de datos.. 
            //Simulando que cargo los datos aqui
            DataTable table = new DataTable("Usuarios");
            table.Columns.Add(new DataColumn("IdUsuario", typeof(System.Int32)));
            table.Columns.Add(new DataColumn("Nombre", typeof(System.String)));

            DataRow dr = table.NewRow();
            dr["IdUsuario"] = 1;
            dr["Nombre"] = "Stream 1";
            table.Rows.Add(dr);

            dr = table.NewRow();
            dr["IdUsuario"] = 5;
            dr["Nombre"] = "Stream 5";
            table.Rows.Add(dr);

            dr = table.NewRow();
            dr["IdUsuario"] = 10;
            dr["Nombre"] = "Stream 10";
            table.Rows.Add(dr);

            GridView1.DataSource = table;
            GridView1.DataBind();
        }
    }


    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Select")
        { 
            //carga los datos con el 
            //e.CommandArgument 
            int IdUsuario = Convert.ToInt32(e.CommandArgument);
            //carga datos del usuario con el IdUsuario
        }
    }
Espero te sirva, abajo te posteo otra manera..
Salu2