Kendo UI Grid - 显示行号

Ram*_*Ram 4 asp.net-mvc razor kendo-ui kendo-asp.net-mvc

如何在Kendo UI Grid中显示行号?我的代码不起作用.页面显示列但它是空的.

@{int counter = 1;}

@(Html.Kendo().Grid<QueueViewModel>()
      .Name("Queue")
      .Columns(columns =>
      {
          columns.Template(@<text><span>@counter @{ counter++; }</span></text>).Title("#");
      })
     .DataSource(dataSource => dataSource
     .Ajax()
     .PageSize(10) 
     .Read(read => read.Action("GetOpenQueue", "DataSource", new { GeneralQueue = true })
))
Run Code Online (Sandbox Code Playgroud)

ata*_*ati 9

做这个:

@{
   int counter = 1;
}

@(Html.Kendo().Grid<QueueViewModel>()
      .Name("Queue")
      .Columns(columns =>
      {
          columns.Template(@<text><span>@(counter++)</span></text>).Title("#");
      })
Run Code Online (Sandbox Code Playgroud)

或者,如果您的DataSource设置为Ajax(客户端),请执行以下操作:

<script>
    var counter = 1;

    function onDataBound(e) {
        counter = 1;
    }

    function renderNumber(data) {
        return counter++;
    }    
</script>

@(Html.Kendo().Grid()   
    .Name("Queue")
    .Columns(columns => {
        columns.Template(t => { }).ClientTemplate("#= renderNumber(data) #").Title("#");
    })
    .Events(ev => ev.DataBound("onDataBound"))
)
Run Code Online (Sandbox Code Playgroud)