首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVCGrid.net -网格不分页结果,还显示所有记录和分页

MVCGrid.net -网格不分页结果,还显示所有记录和分页
EN

Stack Overflow用户
提问于 2017-05-20 22:34:41
回答 2查看 550关注 0票数 0

正在显示的网格启用了分页导航,但显示的所有记录都没有分页。还会显示寻呼机。RegisterGrid()方法的代码如下:

代码语言:javascript
复制
public static void RegisterGrids()
        {
            GridDefaults defaultSet1 = new GridDefaults()
            {
                Paging = true,
                ItemsPerPage = 5,
                NoResultsMessage = "Sorry, no results were found"
            };

            MVCGridDefinitionTable.Add("grdFiles", new MVCGridBuilder<FilesModel>(defaultSet1)
            .WithAuthorizationType(AuthorizationType.AllowAnonymous)
            .AddColumns(cols =>
            {
                cols.Add("FileName")
                    .WithValueExpression(p => p.Name.ToString());
                cols.Add("LastModified").WithHeaderText("LastModified")
                    .WithValueExpression(p => p.LastModified.ToString());
                cols.Add("Size").WithHeaderText("Size")
                    .WithValueExpression(p => p.Size.ToString());
            })
            .WithRetrieveDataMethod((context) =>
            {
                var res = DisplayFiles();
                return new QueryResult<FilesModel>()
                {
                    Items = res,
                    TotalRecords = res.Count // if paging is enabled, return the total number of records of all pages
                };
            })
            );
        }

查看代码是:

代码语言:javascript
复制
@model IEnumerable<FileViewerWeb.Models.FilesModel>

@using MVCGrid.Web;

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="well well-lg" style="padding-top:10px">
    <h2>Explore Uploaded Files</h2>
</div>

@Html.MVCGrid("grdFiles")

控制器代码:-

代码语言:javascript
复制
public ActionResult Index()
{
return View();
}
EN

回答 2

Stack Overflow用户

发布于 2018-04-09 20:58:54

将生成列表的方式更改为查询,最后通过ToList()传递查询

代码语言:javascript
复制
var result = new QueryResult<FilesModel>();
var query = db.FilesModel.AsQueryable();

您缺少代码

代码语言:javascript
复制
if (options.GetLimitOffset().HasValue)
{
    var limitOffset = options.GetLimitOffset().Value;
    var limitRowCount = options.GetLimitRowcount().Value;
    query = query
        .Skip(limitOffset)
        .Take(limitRowCount);
}

最后,在返回使用时

代码语言:javascript
复制
result.Items = query.ToList();
result.TotalRecords = result.Items.Count();
return result;
票数 0
EN

Stack Overflow用户

发布于 2019-01-14 04:28:54

当你使用skip时,你必须首先使用orderby。

代码语言:javascript
复制
if (options.GetLimitOffset().HasValue)
{
    var limitOffset = options.GetLimitOffset().Value;
    var limitRowCount = options.GetLimitRowcount().Value;
    query = query.OrderBy(c=>c.name) //or add any column you prefer to order the list
        .Skip(limitOffset)
        .Take(limitRowCount);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44087120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档