使用 ASP.NET MVC 的剑道 UI 网格中的自动递增列
本文关键字:网格 UI NET ASP MVC 使用 | 更新日期: 2023-09-27 18:34:00
是否可以创建一个剑道网格,每次添加新记录时将 Id 列递增 1?例如,我有一个简单的模型类,具有 3 个属性:Id、Title、薪水:
public class JobViewModel
{
public int Id { get; set; }
public string Title { get; set; }
public double Salary { get; set; }
}
网格的剃刀代码如下所示:
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.JobViewModel>()
.Name("JobListing")
.Columns(columns => {
columns.Bound(x => x.Id);
columns.Bound(x => x.Title);
columns.Bound(x => x.Salary);
.Editable(editable => editable.Mode(GridEditMode.InCell))
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.ServerOperation(false)
.Model(model => model.Id(m => m.Id))
.Create("Editing_Create", "Grid")
)
)
而不是用户键入 Id 值,我想知道是否有办法自动递增它。
因此,当添加新记录时,"Editing_Create"操作方法接收一个
JobViewModel 对象,其中的属性设置如下:
工作。Id = 1//下次这将是 2 和 3 ...
工作。标题 ="用户键入的任何内容"
工作。薪水 ="无论用户输入什么"
@Scott 塞尔比 - 谢谢。此线程中的第一个答案解决了问题。
http://www.kendoui.com/forums/kendo-ui-complete-for-asp-net-mvc/grid/auto-increment-column.aspx
这就是我所做的。
dataBound: function (e) {
var gridObj = $("#SomeGrid").data("kendoGrid");
this.dataSource.data().forEach(function (dataItem, idx) {
coreUtil.kendo.grid.setModelData(gridObj, dataItem, "SL. No.", (idx + 1));
});
}