VB6DeveloperJr Postado Outubro 21, 2009 Denunciar Share Postado Outubro 21, 2009 Pessoal, tenho um gridview, <asp:GridView ID="gdvCanais" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="Horizontal" onpageindexchanging="gdvCanais_PageIndexChanging" DataKeyNames="SERV_ID,CAMINHO" onrowdatabound="gdvCanais_RowDataBound" PageSize="15" Width="769px" onrowcommand="gdvCanais_RowCommand"> <Columns> <asp:TemplateField HeaderText="Status"> <ItemTemplate> <asp:ImageButton ID="imgStatus" runat="server" CommandArgument = '<%# Eval("CANAL") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>e preciso que o ItemTemplate = 'imgStatus' trabalhe como uma Trigger dentro do UpdatePanel, é possível fazer isso??Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 quintelab Postado Outubro 21, 2009 Denunciar Share Postado Outubro 21, 2009 De uma olhada: http://www.macoratti.net/07/07/ajax_upp.htmAbraços... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 VB6DeveloperJr Postado Outubro 22, 2009 Autor Denunciar Share Postado Outubro 22, 2009 (editado) De uma olhada: http://www.macoratti.net/07/07/ajax_upp.htmAbraços...quintelab, eu entendi o conceito para adicionar trigger de um controle normal em tela, porém ainda não consegui adicionar uma trigger um ImageButton dentro do ItemTemplate de um GridView, não sei se para isso é necessario fazer pelo Code-Behind no evento RowDataBound assim:protected void gdv_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { ImageButton btnStatus= new ImageButton(); btnStatus = (ImageButton)e.Row.FindControl("imgStatus"); if (btnStatus!= null) { AsyncPostBackTrigger trigger = new AsyncPostBackTrigger(); trigger.ControlID = "btnStatus"; //trigger.EventName = "Click"; UpdatePanel1.Triggers.Add(trigger); if (status == 1 ) { btnStatus.ImageUrl = "/App_Themes/Imagens/status.png"; } else { btnStatus.Visible = false; } } } } ou simplesmente no Aspx : <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode ="Conditional" > <Triggers> <asp:PostBackTrigger ControlID = "imgStatus"/> </Triggers> <ContentTemplate> <asp:GridView ID="gdvCanais" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="Horizontal" onpageindexchanging="gdvCanais_PageIndexChanging" DataKeyNames="SERV_ID,CAMINHO" onrowdatabound="gdvCanais_RowDataBound" PageSize="15" Width="769px" onrowcommand="gdvCanais_RowCommand"> <Columns> <asp:TemplateField HeaderText="Status"> <ItemTemplate> <asp:ImageButton ID="imgStatus" runat="server" CommandArgument = '<%Eval("CANAL")%>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </ContentTemplate> </asp:UpdatePanel> Colocando direto no Aspx aparece o erro: A control with ID 'imgStatus' could not be found for the trigger in UpdatePanel 'UpdatePanel1'.Enfim, alguma ideia? Editado Outubro 22, 2009 por VB6DeveloperJr Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 VB6DeveloperJr Postado Outubro 22, 2009 Autor Denunciar Share Postado Outubro 22, 2009 (editado) Pessoal, desculpem eu não havia pesquisado direito antes de postar, a resolução para o meu problema: http://sites.google.com/site/arlen4mysite/...k-for-templatefA unica coisa que acontece agora, é que eu preciso esperar cerca de 3 seg. para clicar novamente no TemplateField, senão não ocorre o PostBack, vai entender esse UpdatePanel não é? talvez seja porque estou usando um Timer de 1,5 seg na pagina <_< Obrigado pela ajuda!!! Editado Outubro 22, 2009 por VB6DeveloperJr Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
VB6DeveloperJr
Pessoal, tenho um gridview,
e preciso que o ItemTemplate = 'imgStatus' trabalhe como uma Trigger dentro do UpdatePanel, é possível fazer isso??
Obrigado.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.