Asp.net mvc 剑道网格-使用包含相同数据的两列对列重新排序

Asp.net mvc 剑道网格-使用包含相同数据的两列对列重新排序,asp.net-mvc,razor,kendo-grid,kendo-asp.net-mvc,Asp.net Mvc,Razor,Kendo Grid,Kendo Asp.net Mvc,关于我的网格如何工作的一点背景: 我的网格使用.Sortable、.Reorderable、.Filterable和.ColumnMenu。在dataBound事件中,网格保存网格列顺序、每页项目、当前分页页面和列排序[asc和desc]的状态。当用户返回该页面时,当一些初始化Javascript在网格上进行查询时,他们的设置会重新加载到网格中 当我有两列相同的数据时,我的问题就产生了: @(Html.Kendo().Grid<GridDataType>() .Name("A

关于我的网格如何工作的一点背景:

我的网格使用.Sortable、.Reorderable、.Filterable和.ColumnMenu。在dataBound事件中,网格保存网格列顺序、每页项目、当前分页页面和列排序[asc和desc]的状态。当用户返回该页面时,当一些初始化Javascript在网格上进行查询时,他们的设置会重新加载到网格中

当我有两列相同的数据时,我的问题就产生了:

@(Html.Kendo().Grid<GridDataType>()
    .Name("ActiveThreats_Grid")
    .AutoBind(false)
    .Columns(columns =>
    {
      columns.Bound(r => r.Id).Title("<input id='checkAll', type='checkbox', class='check-box' />")
          .Sortable(false)
          .ClientTemplate("<input type='checkbox' class='check_row' id='#= Id#' />")
          .Filterable(false);

      columns.Bound(r => r.OtherField).Title("Other Field");

      columns.Bound(r => r.Id).Title("ID").Hidden(true);
    })
    .Resizable(resize => resize.Columns(true))
    .Scrollable()
    .Sortable()
    .Reorderable(reorder => reorder.Columns(true))
    .Filterable()
    .ColumnMenu()
    .DataSource(dataSource => dataSource
        .Ajax()
        // Other HtmlHelpers here
    )
我注意到,如果我有相同的数据字段属性,并且使用.Reorderable HtmlHelper,网格会将第一个r.Id列重新排序到第二个r.Id列出现的相同位置


问:是否有一种HtmlHelper或方法来更改数据字段属性输出,以防止.Reorderable对相邻的两个相同列进行排序?Hi@Fillip,为我对问题的误解道歉,我已经记下了我的解决方案,因为它与问题无关。你能验证一下这是否是你想要的吗:关闭。。。这就是我正在使用的功能,我是通过Kendo ASP.NET包装而不是JS初始化它的,但是我想知道如何更改/指定给定列的数据字段属性。最好是在Kendo ASP.NET包装中。