如何在 Kendo Grid 中设置列​​优先级

Posted

技术标签:

【中文标题】如何在 Kendo Grid 中设置列​​优先级【英文标题】:How to set Column Priority in Kendo Grid 【发布时间】:2021-03-18 16:18:40 【问题描述】:

我正在使用剑道网格,并且我有如下所示的列数组

 columns: [
            
                field: "Column1",
                title: "Column 1",
                width: "120px"
            ,
            
                field: "Column2",
                title: "Column 2",
                width: "120px"
            ,
            
                field: "Column3",
                title: "Column 3",
                width: "160px"
            ,
            .
            .
            .
          ]

如何在剑道网格中设置列的显示顺序,或者有没有其他可能的方式?像第 1 个 Column2 然后 Column3 然后 Column1 需要显示。

提前致谢!!!!

【问题讨论】:

您想仅在网格初始化期间设置顺序,还是希望稍后也可以使用代码动态设置顺序? 以后动态使用代码@Shai 【参考方案1】:

您正在寻找reorderColumn(destIndex, object) 事件:reorderColumn。

    destIndex Number 列的新位置。目标索引 应针对所有列进行计算,包括隐藏的列 那些。
    column Object 应该改变位置的列。
$("#grid").kendoGrid(
  columns: [
     field: "name" ,
     field: "age" 
  ],
  dataSource: [
       name: "Jane Doe", age: 30 ,
       name: "John Doe", age: 33 
  ]
);
var grid = $("#grid").data("kendoGrid");

//your logic for calcualting destination index and column
grid.reorderColumn(1, grid.columns[0]);

官方示例:reorderColumn

【讨论】:

这就像交换两列。如果它交换更多的列,它会更复杂。 然后创建新的列数组并在网格选项中设置它。或者遍历现有列并重新排序。您没有提供任何情况,只是:“需要显示第一个 Column2,然后是 Column3,然后是 Column1”

以上是关于如何在 Kendo Grid 中设置列​​优先级的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CSS 网格布局中设置列的最大宽度?

可以在实体框架中设置列排序

在 Kendo Grid 中设置默认分组

如何在 tableLayoutPanel 中设置列​​跨度

如何在 NavigationView 中设置列​​表的背景颜色

如何在 JTable/JXTable 中设置列​​宽?