我想为网络网格自动生成行号,我可以使用下面的代码来做到这一点
grid.Column(header: "RowNumber", format: item => item.WebGrid.Rows.IndexOf(item) + 1),
这个问题是,我还为我的网格实现分页,当我再次单击下一页时,行号是从 sno 1 生成的,当我的第 1 页由第 1 行到第 5 行的记录组成时,我的第 2 页行数字应该从第 6 行开始,但我的第 2 页行号又从第 1 行开始..
我发布了获取数据并将数据绑定到网格的流程
在第一步中,我有我的模型 User.cs,它与数据库交互并获取数据并将数据存储在 List<> 中
在下一步中,从我的控制器操作方法中,我调用模型 User.cs 中的方法,该方法将从数据库中获取数据并将其存储在 List<>
在第三步中,从我看来,我将网络网格的源属性赋予我的模型中保存数据的列表
var grid = new WebGrid(source: WebgridPaging.Models.User.Users, rowsPerPage: 2,canPage:true,canSort:false);
我建议您使用视图模型(而不是将域模型传递给视图),即:
@model IEnumerable<MyViewModel>
而不是:
@model IEnumerable<SomeDomainModelProbablyComingFromAnAutogeneratedEFContext>
现在在您的视图模型中,您可以自由地拥有 RowNumber 属性:
public int RowNumber { get; set; }
尝试以下方法
var cnt = Math.Round(Convert.ToDouble(grid.TotalRowCount / grid.PageCount) / grid.RowsPerPage) * grid.RowsPerPage * grid.PageIndex;
grid.Column(header: "S.NO.", format: item => item.WebGrid.Rows.IndexOf(item) + 1 + cnt)