我想为webgrid自动生成rownumber并且能够使用以下代码执行此操作
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<>
中在第3步中,从我的视图中我将webgrid的source属性赋予我的模型中包含数据的列表
var grid = new WebGrid(source: WebgridPaging.Models.User.Users, rowsPerPage: 2,canPage:true,canSort:false);
答案 0 :(得分:1)
我建议您使用视图模型(而不是将您的域模型传递给视图),即:
@model IEnumerable<MyViewModel>
而不是:
@model IEnumerable<SomeDomainModelProbablyComingFromAnAutogeneratedEFContext>
现在,在您的视图模型中,您可以自由拥有RowNumber属性:
public int RowNumber { get; set; }
答案 1 :(得分:0)
尝试以下
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)