How to know what columns are visible whit Kendo Gr

2019-08-03 08:43发布

问题:

i have a Kendo Grid whit "x" number of columns, but the user can hide the columns and i need know what columns are visible to export data only for these columns, i access to the columns in JS whit

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

but it returns all columns not only the visibles. tankz

回答1:

You can just get the list of columns by using this:

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

The result will be an array of all column objects which has a property name hidden: true for hidden columns by users. In my case it is like following. So simply you will be able to get the visible column list into an array using following code.

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

Hidden Column

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

Visible Column

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

Hope this will help.