Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/04/2007, 09:13
Avatar de RootK
RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 3 meses
Puntos: 50
Re: Parámetros en el Clic del LinkButton

Cita:
Como he comentado, la idea es poner el LinkButton dentro del Datagrid, dentro de un TemplateColumn, dentro de un ItemColumn, algo como esto (a no ser que esté mal planteado):

Código:

<asp:TemplateColumn HeaderText="Estado"> <ItemTemplate> <asp:LinkButton id="LinkButton1" style="Z-INDEX: 102; LEFT: 350px; POSITION: absolute; TOP: 13px" runat="server"><%# estadoPeli(Convert.ToString(DataBinder.Eval(Contai ner.DataItem, "peli_activo")))%></asp:LinkButton> </ItemTemplate> </asp:TemplateColumn>
eso mismo te puede quedar así:

Código:
    <asp:TemplateColumn HeaderText="Estado"> 
                <ItemTemplate> 
                    <asp:LinkButton id="LinkButton1" style="Z-INDEX: 102; LEFT: 350px; POSITION: absolute; TOP: 13px" runat="server" CommandName="MyLink"  CommandArgument='<%# MyFunction(Container.DataItem) %>' Text="Prueba" />
                </ItemTemplate> 
            </asp:TemplateColumn>
y MyFunction va a guardar en sus argumentos los campos que necesitas y puedes ocupar algun tipo de separador... ejemplo:

Código:
  protected string MyFunction(object obj) {
        DataRowView container = obj as DataRowView;

        return container.Row["peli_id"].ToString() + ";" + container.Row["peli_activo"].ToString();
    }
Y cuando se dé click en el llinkbutton puedes aprovechar el evento RowCommand del grid para cachar el objetos actual y los argumentos que en este caso es el link button quedando algo como ésto:

Código:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "MyLink") { 
            string[] arrFields = e.CommandArgument.ToString().Split(new char[] {';'});

        }
    }
donde arrFields contendrá todos los valores que hayas colocado en MyFunction que en este caso serían peli_id y peli_activo

Traté de ser lo más claro posible pero si de plano ésto no me lo entiendes te recomiendo que leas mas acerca del gridview antes de comenzar con todo ésto.

Salu2