2

我有一个带有“x”列的 Kendo Grid,但是用户可以隐藏这些列,我需要知道哪些列是可见的,以便仅为这些列导出数据,我可以访问 JS whit 中的列

var columns = $("#grid").data("kedoGrid");

但它不仅返回可见的所有列。坦克兹

4

1 回答 1

19

您可以使用以下方法获取列列表:

var columns = $("#grid").data("kendoGrid").columns;

结果将是所有列对象的数组,其中包含用户隐藏列的属性名称hidden: true。就我而言,就像以下一样。所以很简单,您将能够使用以下代码将可见列列表放入数组中。

var visibleColumns = [];
jQuery.each(columns, function (index) {
  if(!this.hidden) {
    visibleColumns.push(this);
  }
});

隐藏列

attributes: Object
encoded: true
field: "pb"
footerAttributes: Object
headerAttributes: Object
hidden: true
title: "Price / Book"
width: 120
__proto__: Object

可见柱

encoded: true
field: "name"
title: "Company Name"
width: 120
__proto__: Object

希望这会有所帮助。

于 2013-12-04T05:28:01.180 回答