【问题标题】:Telerik RadGrid disappears for a second when changing page更改页面时 Telerik RadGrid 消失一秒钟
【发布时间】:2018-09-24 20:13:06
【问题描述】:

我有 Telerik RadGrid,我用存储过程中的一些数据填充它。

protected void Page_Load(object sender, EventArgs e)
{
    RadGrid2.DataSource = Utils_PA.GetData_From_SQl("SPname");
    RadGrid2.DataBind();
}

我在页面上有 RadAjaxLoadingPanel 和 RadAjaxManager。

这是我的标记:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid2">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1" UpdatePanelCssClass="" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>

<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"></telerik:RadAjaxLoadingPanel>
        <telerik:RadGrid ID="RadGrid2" EnableViewState="true" runat="server" AllowSorting="True" AllowPaging="True" PageSize="30"
            AllowFilteringByColumn="True" GroupPanelPosition="Top" CellSpacing="-1" GridLines="Both">
            <GroupingSettings CollapseAllTooltip="Collapse all groups"></GroupingSettings>
            <PagerStyle Mode="NextPrevNumericAndAdvanced" Position="TopAndBottom" PageSizeControlType="RadComboBox"></PagerStyle>
        </telerik:RadGrid>

对我来说一切都很好。但是,当我在网格上更改页面,或使用过滤或排序时,网格会消失一秒钟,然后显示排序/过滤/新页面数据。

所以,它的工作原理是正确的,但是如何通过消失来解决这个问题?我尝试使用 RadAjaxLoadingPanel,就像在 Telerik Demos 中的 show Loader 一样。它可以工作,但不能解决网格消失的问题。

【问题讨论】:

  • 错字警告:它是消失(一个“s”,两个“p”)-不是“消失”

标签: c# asp.net telerik telerik-grid radgrid


【解决方案1】:

我建议使用高级数据绑定方法,并在您想刷新网格时调用 Rebind() 方法:Advanced Data-binding (Using NeedDataSource Event)

<telerik:RadGrid ID="RadGrid2" runat="server" OnNeedDataSource="RadGrid2_NeedDataSource">
</telerik:RadGrid>
protected void RadGrid2_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
    RadGrid2.DataSource = Utils_PA.GetData_From_SQl("SPname");
}

注意:使用高级数据绑定时避免调用 Databind() 方法。 此外,永远不要在 NeedDataSource 事件中调用 Rebind() 方法,因为它会进入无限循环并导致服务器崩溃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多