modal popextender com grid view

17/05/2009

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 { }
        }       
Ets Ltda

Ets Ltda

Curtidas 0

Respostas

Luiz Maia

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
GOSTEI 0
Devmedia

Devmedia

17/05/2009

Alex,
a resposta do consultor foi suficiente? podemos encerrar  o chamado?

GOSTEI 0
Luiz Maia

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

Ets Ltda

17/05/2009

ja fiz obrigado  
GOSTEI 0
Ets Ltda

Ets Ltda

17/05/2009

ja fiz obrigado  
GOSTEI 0
POSTAR