使用 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 ...
工作。标题 ="用户键入的任何内容"
工作。薪水 ="无论用户输入什么"

使用 ASP.NET MVC 的剑道 UI 网格中的自动递增列

@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));
    });
 }