Hi all.
I have a (multirow header) datagrid whoose column ordering is context dependend.
Based on question about columns dnd:
http://www.jeasyui.com/forum/index.php?topic=279.0I've extended datagrid in this way:
$.extend($.fn.datagrid.methods, {
// move Field 'from' at header index 'head' before field 'to'
moveField: function(jq,data){
return jq.each(function(){
var columns = $(this).datagrid('options').columns;
var cc = columns[data.head];
var c = _remove(data.from);
if (c){
_insert(data.to,c);
}
function _remove(field){
for(var i=0; i<cc.length; i++){
if (cc[i].field == field){
var c = cc[i];
cc.splice(i,1);
return c;
}
}
return null;
}
function _insert(field,c){
var newcc = [];
for(var i=0; i<cc.length; i++){
if (cc[i].field == field){
newcc.push(c);
}
newcc.push(cc[i]);
}
columns[data.head] = newcc;
}
});
}
}
Works fine... but header columns don't move, just datagrid content
Here comes a sample image capture:
after
dg.datagrid('moveField',{'head':1,'from':'Club',to:'Dorsal'});
you can see contents moved, but header remains unchanged
What am i missing? Any way to re-render datagrid header?
Thanks in advance
Juan Antonio