FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 4516|回复: 5
打印 上一主题 下一主题

grid分页数问题,改变数据条数,分页数没有发生改变

[复制链接]
跳转到指定楼层
楼主
发表于 2017-2-9 11:11:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有两页数据,第二页只有一条数据,当我删除一条数据后,应该只有一页数据,page数应该也是一,但是 当我删除数据后,page数还是2,如下图

以后是我的代码
[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Grid1_DeleteRows(JArray Grid1_fields, JArray selectedRows)
        {
            var grid1 = UIHelper.Grid("Grid1");
            //数据源
            var userInfoList = db.DepartmentCategory.AsNoTracking().ToList();
            foreach (string rowId in selectedRows)
            {
                //删除数据
                var userInfo = userInfoList.Where(r => r.Category == rowId).FirstOrDefault();
              
                db.Entry(userInfo).State = EntityState.Deleted;
                db.SaveChanges();
            }
            //从新检索数据源
            var TypeClass = db.DepartmentCategory.AsNoTracking().ToList();
            //总记录数
            var recordCount = TypeClass.Count();
            //分页数据
            var dataSource = GetPagedDataSource(TypeClass, 1, recordCount);
            //从新指定分页数
            grid1.PageSize(15);
            //绑定
            grid1.DataSource(dataSource, Grid1_fields);
            Alert.ShowInTop("删除数据成功!");
            return UIHelper.Result();
        }


private List<DepartmentCategory> GetPagedDataSource(List<DepartmentCategory> students,
        int pageIndex, int recordCount)
        {
            var pageCount = GetPageCount(recordCount);
            if (pageIndex >= pageCount && pageCount >= 1)
            {
                pageIndex = pageCount - 1;
            }
            return students.OrderBy(m => m.Category)
                    .Skip(pageIndex * PAGE_SIZE)
                    .Take(PAGE_SIZE).ToList();
        }

private static readonly int PAGE_SIZE = 15;
        private int GetPageCount(int recordCount)
        {
            int pageCount = recordCount / PAGE_SIZE;
            if (recordCount % PAGE_SIZE != 0)
            {
                pageCount += 1;
            }
            return pageCount;
        }
求大神帮帮忙。问题出在哪

沙发
 楼主| 发表于 2017-2-9 11:13:34 | 只看该作者
补图  补图 补图

本帖子中包含更多资源

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

x
板凳
 楼主| 发表于 2017-2-9 11:14:01 | 只看该作者
补图补图补图

本帖子中包含更多资源

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

x
地板
 楼主| 发表于 2017-2-9 11:18:49 | 只看该作者
补图补图补图

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2017-2-9 11:19:23 | 只看该作者
其实已经只有15条数据了,但是page数还是显示2
6#
 楼主| 发表于 2017-2-9 11:24:00 | 只看该作者
额额  是我大意了  没有重新设置总记录。。。。。已经解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-24 12:46 , Processed in 0.048929 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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