以下是为Kendo网格导出多个隐藏列的代码,
String[] input = {"011","010","001"};
if(input.length==0) return ;
int n=input[0].length();
List<BitSet> bitsets = new ArrayList<>();
for(String in:input){
// n is the min length of the inputs
n=Math.min(n,in.length());
// If you start counting the indices from the left, you need to reverse the inputs
String reverse = new StringBuilder(in).reverse().toString();
// Create the actual bitsets
BitSet b = BitSet.valueOf(new long[] { Long.parseLong(reverse, 2) });
bitsets.add(b);
}
for(int i=0;i<n;i++){
boolean equals=true;
for(int j=1;j<bitsets.size();j++)
equals &= bitsets.get(j-1).get(i)==bitsets.get(j).get(i);
if(equals)
System.out.print(bitsets.get(0).get(i)?"1":"0");
// You can also print the indices if needed.
}
在上面的代码中给出了var exportFlag = false;
$("#grid").data("kendoGrid").bind("excelExport", function (e) {
if (!exportFlag) {
e.sender.showColumn(0);
e.preventDefault();
exportFlag = true;
setTimeout(function () {
e.sender.saveAsExcel();
});
} else {
e.sender.hideColumn(0);
exportFlag = false;
}
});
,我需要导出n th 列数(导出到多个隐藏列),如下所示:e.sender.showColumn(0);
。< / p>
怎么可能?
答案 0 :(得分:0)
您可以拥有一系列隐藏列。迭代所有列,如果索引在数组中显示它。
function isInArray(value, array) {
return array.indexOf(value) > -1;
}
var hidencoll = [1, 2, 3, 4]; // your hidden cols indexes
for(i=0; i< grid.columns.length; i++)
{
if (isInArray(i,hidencoll))
grid.showColumn(i); // grid.hideColumn(i);
}
或者如果你想要前n列:
for(i=0; i< grid.columns.length; i++)
{
if (i <= n)
grid.showColumn(i); // grid.hideColumn(i);
}