当对表格某一列进行如下设置的时候
{
display: 'ID',
name: 'ORDER_ID',
width: 40,
sortable: false,
align: 'left'
}
会发现该列将没有abbr属性
解决该问题的方法是
1.打开flexgrid.js
2.找到这样一段代码
if (cm.name && cm.sortable) {
$(th).attr('abbr', cm.name);
}
将其改为
if (cm.name) {
$(th).attr('abbr', cm.name);
}
这样所有的栏目都会有abbr属性,但是同时所有的列(即使设置sortable属性的值为false)还是会显示排序效果,如何将所有的排序效果删除?
找到这样一段代码
changeSort: function (th) { //change sortorder
if (this.loading) {
return true;
}
$(g.nDiv).hide();
$(g.nBtn).hide();
if (p.sortname == $(th).attr('abbr')) {
if (p.sortorder == 'asc') {
p.sortorder = 'desc';
} else {
p.sortorder = 'asc';
}
}
$(th).addClass('sorted').siblings().removeClass('sorted');
$('.sdesc', this.hDiv).removeClass('sdesc');
$('.sasc', this.hDiv).removeClass('sasc');
$('div', th).addClass('s' + p.sortorder);
p.sortname = $(th).attr('abbr');
if (p.onChangeSort) {
p.onChangeSort(p.sortname, p.sortorder);
} else {
this.populate();
}
},
将其删除,然后将后面的调用了该函数发代码删除<有一个地方调用了该方法g.changeSort(this);>
即可解决