【问题标题】:Add row number to kendo grid in mvc在 mvc 中将行号添加到剑道网格
【发布时间】:2019-07-08 06:42:14
【问题描述】:

我有以下代码:

@(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")))

为什么没有出现值?

【问题讨论】:

  • @CarstenFranke ,建议的方法使用 javascript。不一样!
  • 你是对的。但我喜欢人们尝试使用提议的解决方案并将其用于他们的需求的想法......您所要做的就是为您的列使用客户端模板并从 JavaScript 变量中检索当前计数器。例如。 ClientTemplate("#=getVersion()#") 函数getVersion() 必须返回数字。

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


【解决方案1】:

您不能使用columns.Template(@&lt;text&gt;&lt;span&gt;@(counter++)&lt;/span&gt;&lt;/text&gt;),因为您的网格正在使用客户端绑定。您必须使用 .ClientTemplate() 方法和 JavaScript 来获取 Carsten Franke 在评论中建议的行号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 2013-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多