FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3948|回复: 1
打印 上一主题 下一主题

【已解决】Grid分页数设置问题

[复制链接]
跳转到指定楼层
楼主
发表于 2017-3-15 09:22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
反馈BUG
程序版本: FineUIPro 3.5.0.1
浏览器: IE10 
BUG截图:
BUG地址: -
调整的代码:
private DataTable GetPagedDataTable(int APageIndex, int APageSize,bool ACheckPageCount=true)
    {
      string sSortField = OpDataGrid.SortField;
      string sSortDirection = OpDataGrid.SortDirection;
      if (sSortField != "")
      {
        sSortField = sSortField + " " + sSortDirection.ToLower();
      }
      else
      {
        sSortField = "WzBm";
      }

      string sSqlText = "Exec RY_PROC_WZZL_GetDataList_OnePage @APCount OUTPUT,@ARCount OUTPUT,@ASys_Where,@ASys_Order,"
        +"@ASys_PageIndex,@ASys_PageSize,@FlID,@UseFor";
      SqlParameter[] myParams = new SqlParameter[] {
        new SqlParameter("APCount",0),
        new SqlParameter("ARCount",0),        
        new SqlParameter("ASys_Where",""),
        new SqlParameter("ASys_Order",sSortField),
        new SqlParameter("ASys_PageIndex",APageIndex),
        new SqlParameter("ASys_PageSize",APageSize),
        new SqlParameter("FlID",_WzFlID),
        new SqlParameter("UseFor","")
      };

      myParams[0].Direction = ParameterDirection.Output;
      myParams[1].Direction = ParameterDirection.Output;

      DataTable myTempTable = DbHelper.ExecuteDataTable(sSqlText, myParams);

      //判断总页数,是否小于页索引
      if (Convert.ToInt32(myParams[0].Value) < APageIndex && ACheckPageCount)
      {
        //若是,则进行第二次获取,且返回
        return GetPagedDataTable(Convert.ToInt32(myParams[0].Value)-1, APageSize, false);
      }
      else
      {
        if (myParams[1].Value == DBNull.Value)
          OpDataGrid.RecordCount = 0;
        else
          OpDataGrid.RecordCount = Convert.ToInt32(myParams[1].Value);
        return myTempTable;
      }      
    }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2017-3-15 09:56:31 | 只看该作者


这个地方应该没问题,请检查示例:
http://fineui.com/demo_pro/#/dem ... esize_database.aspx

  1. protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);


  4.             BindGrid();
  5.         }
复制代码
  1. private void BindGrid()
  2.         {
  3.             // 1.设置总项数
  4.             Grid1.RecordCount = GetTotalCount();

  5.             // 2.获取当前分页数据
  6.             DataTable table = GetPagedDataTable(Grid1.PageIndex, Grid1.PageSize);

  7.             // 3.绑定到Grid
  8.             Grid1.DataSource = table;
  9.             Grid1.DataBind();
  10.         }
复制代码


设置 Grid1.PageSize 和 Grid1.RecordCount 后,会自动更新 Grid1.PageIndex,你再测试下

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-5-5 03:50 , Processed in 0.049995 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表