DataTables的extension:ColVis,也就是动态显示Column,对于一个有多列数据的表格来说很方便,但使用Server-side的时候,发现每次显示/影藏列都会重新post一个请求,器原因就是其源码在调用fnSetColumnVis方法时没有设置draw()为false,可以自己通过修改源码解决这个不必要的操作,减少开销
打开dataTables.colVis.js,直接搜索fnSetColumnVis,方法fnSetColumnVis的第三个参数就是设置是否draw(),也就是重新请求一次,都设置为false,没记错的话,是要修改两个地方:
for ( var j=0 ; j < oGroup.aiColumns.length ; j++ )
{
that.s.dt.oInstance.fnSetColumnVis( oGroup.aiColumns[j], showHide ,false );
}
else
{
that.s.dt.oInstance.fnSetColumnVis( i, showHide , false );
}