在MVC中将行号添加到Kendo网格

时间:2019-07-08 06:42:14

标签: asp.net-mvc kendo-ui kendo-grid

我有以下代码:

@(Html.Kendo().Grid<DataMatrixPrinter.ViewModels.Business.ResearcherVM.ResearcherModel>()
                            .Name("GridKendoResearcherGrid")
                            .DataSource(
                            datasource => datasource
                                .Ajax()
                                .PageSize(20)
                                .Read(read => read.Url("/api/ResearcherApi/GetResearchers").Data("AdvSearch"))
                                )
                                .Columns(columns =>
                                {
                                    columns.Bound(c => c.ID).Title("ID");
                                    columns.Bound(c => c.fullName).Title("Name");

                                })
                             .Pageable()
                             .Sortable()
                             .Selectable()
                             .Events(events => events.Change("UpdateRecordKendo")))

我想显示每一行的数字。因此,我更改了以下命令,但此列的值为空。

    @{
   int counter = 1;
}

@(Html.Kendo().Grid<DataMatrixPrinter.ViewModels.Business.ResearcherVM.ResearcherModel>()
                                .Name("GridKendoResearcherGrid")
                                .DataSource(
                                datasource => datasource
                                    .Ajax()
                                    .PageSize(20)
                                    .Read(read => read.Url("/api/ResearcherApi/GetResearchers").Data("AdvSearch"))
                                    )
                                    .Columns(columns =>
                                    {
                                        columns.Template(@<text><span>@(counter++)</span></text>).Title("#");
                                        columns.Bound(c => c.fullName).Title("Name");

                                    })
                                 .Pageable()
                                 .Sortable()
                                 .Selectable()
                                 .Events(events => events.Change("UpdateRecordKendo")))

为什么不显示该值?

1 个答案:

答案 0 :(得分:0)

您不能使用columns.Template(@<text><span>@(counter++)</span></text>),因为您的网格正在使用客户端绑定。您必须使用.ClientTemplate()方法和JavaScript来获得Carsten Franke在其注释中建议的行号。