简体   繁体   English

刷新GridView数据

[英]Refresh GridView data

In my first load of my aspx page, I have a GridView that are filled. 在我的aspx页面的第一次加载中,我已经填充了GridView

In my ASPX page I handle the click event on my radio button 在我的ASPX页面中,我处理单选按钮上的click事件

    $("#ctl00_contentConteudo_rbBuscas_1").click(function () {
        $.get("../Gerenciar/ListaUsuarioProvisorio.aspx?Documentacao=s&r=" + Math.random(2), {}, function (data) {                
        });
    });

So, this force to pass in my page load again when my radio button is clicked. 因此,当单击我的单选按钮时,此力将再次传递给我的页面加载。

ASPX ASPX

<div id="infoGrid" runat="server">
    <cc1:GridView ID="grdImoveis" CssClass="StyleGrid" Width="100%" runat="server" ShowHeader="false"
        AutoGenerateColumns="False" DataSourceID="dsGrid" BorderWidth="0px" GridLines="None"
        AllowPaging="True" EnableModelValidation="True" >
        <AlternatingRowStyle BackColor="White" CssClass="EstiloDalinhaAlternativaGrid" HorizontalAlign="Center" />
        <RowStyle CssClass="EstiloDalinhaGrid" HorizontalAlign="Center" />
        <Columns>
            <asp:BoundField HeaderText="Nome" DataField="NomeCompleto" />
            <asp:BoundField HeaderText="Cargo" DataField="DescricaoCargo1" />
            <asp:BoundField HeaderText="Data Cadastro" DataField="DataHora" />
            <asp:TemplateField ControlStyle-CssClass="acoes_lista_imovel" HeaderText="Curso">
                <ItemTemplate>
                    <div class="acoes_lista_imovel">
                        <%# montaIcones(Eval("Usuario_Id").ToString())%>
                    </div>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </cc1:GridView>
    <asp:SqlDataSource ID="dsGrid" runat="server"></asp:SqlDataSource>
</div>

CODE BEHIND 后面的代码

In my code behind, my PageLoad just call my CarregaLista method, that fill my GridView 在后面的代码中,我的PageLoad只是调用了我的CarregaLista方法,该方法填充了GridView

protected void CarregaLista()
        {            
                string documentacao = Request.QueryString["Documentacao"].ToString();

                if (documentacao.Equals("s"))
                {
                    string select = string.Empty;
                    select += "SELECT top 10 San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, San_Usuario.DescricaoCargo1, "
                        + "CONVERT(varchar, San_Usuario.DataHora, 103) AS DataHora "
                        + "FROM San_Usuario "
                        + "JOIN San_Credenciada "
                        + "ON San_Usuario.Credenciada_Id = San_Credenciada.Credenciada_Id "
                        + "WHERE San_Usuario.Excluido = 0 "                        
                        + "GROUP BY San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, "
                        + "San_Usuario.DescricaoCargo1, San_Usuario.DataHora "
                        + "ORDER BY San_Usuario.DataHora ASC ";

                    dsGrid.ConnectionString = c.Con;
                    dsGrid.SelectCommand = select;
                    dsGrid.DataBind();
                    grdImoveis.DataBind();
                    dsGrid.Dispose();
                }
            }
}

WITH UPDATE PANEL 带更新面板

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" >
    <ContentTemplate>
                <asp:RadioButton ID="RadioButton2" runat="server" Text="Curso Básico Netimóveis" />
                <asp:RadioButton ID="RadioButton1" runat="server" Text="Buscar Lista de Presença" />
                <asp:RadioButton ID="rdBuscas" runat="server" OnCheckedChanged="Click" Text="Curso Documentação Imobiliária" />
        <cc1:GridView ID="grdImoveis" CssClass="StyleGrid" Width="100%" runat="server" ShowHeader="false"
            AutoGenerateColumns="False" DataSourceID="dsGrid" BorderWidth="0px" GridLines="None"
            AllowPaging="True" EnableModelValidation="True" >
            <AlternatingRowStyle BackColor="White" CssClass="EstiloDalinhaAlternativaGrid" HorizontalAlign="Center" />
            <RowStyle CssClass="EstiloDalinhaGrid" HorizontalAlign="Center" />
            <Columns>
                <asp:BoundField HeaderText="Nome" DataField="NomeCompleto" />
                <asp:BoundField HeaderText="Cargo" DataField="DescricaoCargo1" />
                <asp:BoundField HeaderText="Data Cadastro" DataField="DataHora" />
                <asp:TemplateField ControlStyle-CssClass="acoes_lista_imovel" HeaderText="Curso">
                    <ItemTemplate>
                        <div class="acoes_lista_imovel">
                            <%# montaIcones(Eval("Usuario_Id").ToString())%>
                        </div>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </cc1:GridView>

        <asp:SqlDataSource ID="dsGrid" runat="server"></asp:SqlDataSource>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="rdBuscas" />
        </Triggers>        
        </asp:UpdatePanel>

My problem is that my GridView don't refresh with this query. 我的问题是我的GridView不刷新与此查询。

How can I solve this ? 我该如何解决?

You can use Ajax Tretament - based on UpdatePanel , Triggers and UpdateMode="Condition" 您可以使用Ajax Tretament-基于UpdatePanelTriggersUpdateMode="Condition"

You can use this code (Adjust your GridView and Id of your radio button on trigger) 您可以使用此代码(在触发器上调整GridView和单选按钮的ID)

<asp:ScriptManager ID="ScriptManager1" runat="server" >
</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ModeUpdate="Conditional">
    <ContentTemplate>

        <asp:GridView ID="GridView1" runat="server">
            <Columns>
                  ......
            </Columns>
        </asp:GridView>


       <asp:RadioButton ...../> 

    </ContentTemplate>


    <Triggers>
          <asp:AsyncPostBackTrigger ControlID="YourRadioButtonId" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM