modal popextender com grid view
Caro colega,
Espero ser bem explicativo no meu problema.
1 º tenho uma tela no programa que contem um grid que lista cadastros de clientes , quando seleciono um cadastro no grid e quero ver quais são as compras realizadas por ele Clico no botão que fica ao lado do grid que pega o id da linha do grid e faz uma busca no banco de dados e retorna um datatable, porem quero que o resultado deste datatable seja mostrado em um gridview ou list view dentro de uma janela ModalPopupExtender.
Assim colega.
Já consegui chegar proximo ao meu objetivo acima: O sistema carrega o grid dentro do ModalPopupExtender corretamente sem erro e mostra na tela as informaçoes solicitadas, porem a parte triste, e que quando fecho a janela modal que contem o grid com os dados e volto na tela do sistema aonde tem o grid com a lista de clientes, dou um novo clic em um cliente no grid e, em seguida, no botão ao lado, a fim de mostrar a janela modal com o grid com as informaçoes dele. O que acontece é que não mostra as informaçoes atuais, mas fica mostrando as informaçao do cliente anteriormente consultado. Me parece que ele não está atualizando o grid que está dentro do madalextender para mostrar os novos resultados, sendo que o procedimento é o mesmo, já verifiquei as variaves e o datatable e constatei que estão atualizados.
O que resolveria o meu problema seria a utilização do postback no botão que utiliza o ModalPopupExtender, mas não sei como fazer.
abaixo o que estou utilizando:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GEO_Principal.aspx.cs"
Inherits="tcGEO.GEO_Principal" MasterPageFile="~/tcGEO.Master" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content" ContentPlaceHolderID="ContentPlaceHolder" runat="server">
<asp:Repeater ID="rptPessoas" runat="server">
<ItemTemplate> <script type="text/javascript">
Pessoas.push( new Pessoa(<%#Eval("Id") %>,'<%#Eval("Nome") %>',<%#Eval("Lat") %>,<%#Eval("Lng") %>));
</script> </ItemTemplate>
</asp:Repeater>
<%--FIM DA FUNÇÃO--%>
<table style="width: 100%; height: 698px" border="1">
<tr>
<td style="width: 200px" valign="top">
<table style="width: 100%">
<%--inicio botao 1--%>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdSocioEconomico" runat="server" ImageUrl="~/Botoes/botaoCSE.bmp"
OnClick="CmdSocioEconomico_Click" />
<div>
<table>
<tr>
<td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" Style="display: none"
Width="600px">
<asp:Label ID="lblTituloCSE" runat="server" Text="Label" Font-Size="XX-Large"></asp:Label>
<asp:GridView ID="GridListar" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" Height="1px" Width="500px" OnSelectedIndexChanged="GridListar_SelectedIndexChanged"
OnPageIndexChanging="GridListar_PageIndexChanging" AllowPaging="True" Style="text-align: center;
font-family: Arial; font-size: small; color: #0000FF;">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
</Columns>
<EditRowStyle BorderStyle="Dashed" CssClass="3" BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" ForeColor="#333333" Font-Bold="True" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" BorderStyle="Groove" />
<RowStyle BackColor="#EFF3FB" />
</asp:GridView>
<div align="center">
<asp:Button ID="CancelButton" runat="server" Text="Cancel" />
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="CmdSocioEconomico"
PopupControlID="Panel1" BackgroundCssClass="modalBackground" DropShadow="true"
CancelControlID="CancelButton" />
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdAvaliar" runat="server" ImageUrl="~/Botoes/botaoAvaliar.bmp"
OnClick="CmdAvaliar_Click" />
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdFisico" runat="server" ImageUrl="~/Botoes/BtnFisico.bmp"
OnClick="CmdFisico_Click" />
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdEmpreendimento" runat="server" ImageUrl="~/Botoes/BtnEmpreendimento.bmp"
OnClick="CmdEmpreendimento_Click" />
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdPoligono" runat="server" ImageUrl="~/Botoes/BtnPoligono.bmp"
OnClick="CmdPoligono_Click" />
</td>
</tr>
<tr>
<td style="width: 98px">
Latitude:
</td>
</tr>
<tr>
<td style="width: 98px; text-align: left">
<asp:TextBox ID="txtLatitude" runat="server" Width="110px" ReadOnly="True" Style="font-size: x-small;
color: #0000FF; font-weight: 700;" Height="18px" OnTextChanged="txtLatitude_TextChanged"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 98px; text-align: left">
Longitude:
</td>
</tr>
<tr>
<td style="width: 98px; text-align: left">
<asp:TextBox ID="txtLongitude" runat="server" OnTextChanged="txtLongitude_TextChanged"
Width="110px"></asp:TextBox>
</td>
</tr>
</table>
</td>
<td style="width: 100%" valign="top">
<table style="border-style: groove; width: 100%; height: 684px">
<tr>
<td style="text-align: center" valign="top">
<div id="map_canvas" style="width: 100%; height: 552px">
</div>
</td>
</tr>
<tr>
<td>
<fieldset style="height: 6px">
</fieldset>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:Content>
E no codigo: private void AtualizarGrid_id()
{
try
{
if (Session["_idpropriedade"] != null)
{
DaoRelatCSE CSE = new DaoRelatCSE();
DataTable dt = CSE.getFamiliaPropriedade(Session["_idcse"].ToString(), Session["_idpropriedade"].ToString());
lblTituloCSE.Text = CSE.getTitulo(Session["_idcse"].ToString(), Session["_idpropriedade"].ToString()); this.GridListar.DataSource = dt;
this.GridListar.DataBind();
}
else
{
this.GridListar.DataBind();
}
}
catch { }
}
Inherits="tcGEO.GEO_Principal" MasterPageFile="~/tcGEO.Master" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content" ContentPlaceHolderID="ContentPlaceHolder" runat="server">
<asp:Repeater ID="rptPessoas" runat="server">
<ItemTemplate> <script type="text/javascript">
Pessoas.push( new Pessoa(<%#Eval("Id") %>,'<%#Eval("Nome") %>',<%#Eval("Lat") %>,<%#Eval("Lng") %>));
</script> </ItemTemplate>
</asp:Repeater>
<%--FIM DA FUNÇÃO--%>
<table style="width: 100%; height: 698px" border="1">
<tr>
<td style="width: 200px" valign="top">
<table style="width: 100%">
<%--inicio botao 1--%>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdSocioEconomico" runat="server" ImageUrl="~/Botoes/botaoCSE.bmp"
OnClick="CmdSocioEconomico_Click" />
<div>
<table>
<tr>
<td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" Style="display: none"
Width="600px">
<asp:Label ID="lblTituloCSE" runat="server" Text="Label" Font-Size="XX-Large"></asp:Label>
<asp:GridView ID="GridListar" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" Height="1px" Width="500px" OnSelectedIndexChanged="GridListar_SelectedIndexChanged"
OnPageIndexChanging="GridListar_PageIndexChanging" AllowPaging="True" Style="text-align: center;
font-family: Arial; font-size: small; color: #0000FF;">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
</Columns>
<EditRowStyle BorderStyle="Dashed" CssClass="3" BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" ForeColor="#333333" Font-Bold="True" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" BorderStyle="Groove" />
<RowStyle BackColor="#EFF3FB" />
</asp:GridView>
<div align="center">
<asp:Button ID="CancelButton" runat="server" Text="Cancel" />
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="CmdSocioEconomico"
PopupControlID="Panel1" BackgroundCssClass="modalBackground" DropShadow="true"
CancelControlID="CancelButton" />
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdAvaliar" runat="server" ImageUrl="~/Botoes/botaoAvaliar.bmp"
OnClick="CmdAvaliar_Click" />
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdFisico" runat="server" ImageUrl="~/Botoes/BtnFisico.bmp"
OnClick="CmdFisico_Click" />
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdEmpreendimento" runat="server" ImageUrl="~/Botoes/BtnEmpreendimento.bmp"
OnClick="CmdEmpreendimento_Click" />
</td>
</tr>
<tr>
<td style="width: 98px; text-align: center;">
<asp:ImageButton ID="CmdPoligono" runat="server" ImageUrl="~/Botoes/BtnPoligono.bmp"
OnClick="CmdPoligono_Click" />
</td>
</tr>
<tr>
<td style="width: 98px">
Latitude:
</td>
</tr>
<tr>
<td style="width: 98px; text-align: left">
<asp:TextBox ID="txtLatitude" runat="server" Width="110px" ReadOnly="True" Style="font-size: x-small;
color: #0000FF; font-weight: 700;" Height="18px" OnTextChanged="txtLatitude_TextChanged"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 98px; text-align: left">
Longitude:
</td>
</tr>
<tr>
<td style="width: 98px; text-align: left">
<asp:TextBox ID="txtLongitude" runat="server" OnTextChanged="txtLongitude_TextChanged"
Width="110px"></asp:TextBox>
</td>
</tr>
</table>
</td>
<td style="width: 100%" valign="top">
<table style="border-style: groove; width: 100%; height: 684px">
<tr>
<td style="text-align: center" valign="top">
<div id="map_canvas" style="width: 100%; height: 552px">
</div>
</td>
</tr>
<tr>
<td>
<fieldset style="height: 6px">
</fieldset>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:Content>
E no codigo: private void AtualizarGrid_id()
{
try
{
if (Session["_idpropriedade"] != null)
{
DaoRelatCSE CSE = new DaoRelatCSE();
DataTable dt = CSE.getFamiliaPropriedade(Session["_idcse"].ToString(), Session["_idpropriedade"].ToString());
lblTituloCSE.Text = CSE.getTitulo(Session["_idcse"].ToString(), Session["_idpropriedade"].ToString()); this.GridListar.DataSource = dt;
this.GridListar.DataBind();
}
else
{
this.GridListar.DataBind();
}
}
catch { }
}
Ets Ltda
Curtidas 0
Respostas
Luiz Maia
17/05/2009
Ola Pessoal,
Há pouco tempo atrás me deparei com este mesmo problema.
A solução encontada foi a seguinte, no seu caso tente achar a linha:
ScriptManager1.RegisterAsyncPostBackControl(SeuBotao), geralmente fica dentro do Init.
Apenas retire esta linha e tb tire os Cancel button e OK button para fora do updatepanel, caso ainda não funcione, me avise para acharmos outra solução.
Abraços Luiz Maia
Abraços Luiz Maia
GOSTEI 0
Devmedia
17/05/2009
Alex,
a resposta do consultor foi suficiente? podemos encerrar o chamado?
a resposta do consultor foi suficiente? podemos encerrar o chamado?
GOSTEI 0
Luiz Maia
17/05/2009
Prezados,
Como não obtivemos retorno ao seu chamado, estamos executando a fechamento do mesmo. Salientando que continuamos a sua disposição para qualquer tipo de dúvida.
Abraços
Att
Luiz Maia
GOSTEI 0
Ets Ltda
17/05/2009
ja fiz
obrigado
GOSTEI 0
Ets Ltda
17/05/2009
ja fiz
obrigado
GOSTEI 0