【问题标题】:Custom Paging with Radgrid not working使用 Radgrid 的自定义分页不起作用
【发布时间】:2012-01-05 18:57:19
【问题描述】:

我在这里查看不同问题的答案,但无法找到我可以使用的东西,我是 RadGrid 的新手,一直使用 GridView,但现在,他们将它们全部更改为 RadGrids,其中一个需要分页自定义,有一个示例here,我正在尝试使用它,但如果我的数据源是数据集,我不知道该怎么做,见下文

                AdminManager adminMan = new AdminManager();
                DataSet ds = adminMan.GetProducts();

                int startRowIndex = (ShouldApplySortFilterOrGroup()) ?
                   0 : Grid.CurrentPageIndex * Grid.PageSize;


                int maximumRows = (ShouldApplySortFilterOrGroup()) ?
   **HERE NOT SURE HOW TO TRANSLATE THIS SO THAT I CAN USE IT
                     MyBusinessObjectCollection1.SelectCount() : RadGrid1.PageSize;**

                Grid.AllowCustomPaging = !ShouldApplySortFilterOrGroup();

      **HERE NOT SURE HOW TO TRANSLATE THIS SO THAT I CAN USE IT
              RadGrid1.DataSource = MyBusinessObjectCollection1.Select(startRowIndex, maximumRows);**

如您所见,我不确定在使用数据集时如何翻译该示例代码。请参阅我注意到“这里不确定如何翻译......”的部分,任何帮助将不胜感激。

问候

【问题讨论】:

    标签: c# asp.net telerik radgrid


    【解决方案1】:

    我对这个问题有点困惑,所以我将包括我的 DID 工作示例,也许这会对你的努力有所帮助。首先,我在网格上设置了这些:

    <!-- Set pageSize to whatever you want -->
    <tel:RadGrid .. AllowPaging="true" AllowCustomPaging="true" PageSize="10" />
    

    在代码中,当绑定时,我这样做:

    //need to pass the total number of records there are; this is used to build
    //the paging list
    this.RadGrid1.VirtualItemCount = totalNumberOfRows;
    
    //Bind the filtered resultset that has only 10 or whatever the page size amount of records are
    this.RadGrid1.DataSource = x;
    this.RadGrid1.DataBind();
    

    本质上,您绑定过滤结果,但将虚拟项目计数设置为记录总数。 RadGrid 也应该支持绑定到 DataSet,所以这应该不是问题。

    【讨论】:

    • 在哪个事件中我应该这样做,现在在 NeedDataSource 因为我收到一个错误,它说绑定它自动完成..我有几个地方正在发生绑定..我做 RadGrid1.Rebind ();
    • @user710502 您可以在 NeedDataSource 中执行此操作,只需在此事件处理程序中省略 RadGrid1.DataBind() 或 RadGrid1.Rebind()。
    • 是的,我不知道发生了什么......当我点击寻呼机中的数字时,它可以工作,但是如果我点击寻呼机箭头..它会报错 Invalid postback or callback argument。使用配置中的 或页面中的 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。
    • 对我来说,诀窍在于 'AllowCustomPaging="true" ' 设置。如果你忽略它.. 它不会显示你给它的 VirtualItemCount。
    【解决方案2】:

    这对我有用。

    http://www.telerik.com/community/forums/aspnet-ajax/grid/pager-arrows-problem-when-databinding-in-page-load.aspx

    $('.rgPageFirst').live('click', function () {
        __doPostBack(this.name, '');
        return false;
    });
    
    $('.rgPageNext').live('click', function () {
        __doPostBack(this.name, '');
        return false;
    });
    
    $('.rgPagePrev').live('click', function () {
        __doPostBack(this.name, '');
        return false;
    });
    
    $('.rgPageLast').live('click', function () {
        __doPostBack(this.name, '');
        return false;
    });
    
    $('.rgCollapse').live('click', function () {
        __doPostBack(this.name, '');
        return false;
    });
    
    $('.rgExpand').live('click', function () {
        __doPostBack(this.name, '');
        return false;
    });
    
    $('.rgExrgNumPart').live('click', function () {
        __doPostBack(this.name, '');
        return false;
    });
    

    【讨论】:

      【解决方案3】:

      我无法添加评论,但我可以发布答案。乔的想法是对的。我只需要将其更改为以下代码并将其添加到我的 aspx 页面的脚本块中。

            $(function () {
              $('.rgPageFirst').click('click', function () {
                  __doPostBack(this.name, '');
                  return false;
              });
      
              $('.rgPageNext').click('click', function () {
                  __doPostBack(this.name, '');
                  return false;
              });
      
              $('.rgPagePrev').click('click', function () {
                  __doPostBack(this.name, '');
                  return false;
              });
      
              $('.rgPageLast').click('click', function () {
                  __doPostBack(this.name, '');
                  return false;
              });
            });
      

      谢谢乔!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-24
        • 2011-08-13
        • 1970-01-01
        • 1970-01-01
        • 2019-12-03
        • 1970-01-01
        相关资源
        最近更新 更多