Мы используем сетку DHTMLX. Нужна помощь, пожалуйста.Найти указатель столбцов (ов) после его перемещения
У меня есть таблица, и каждый столбец (с фильтром/выпадающим списком) выделяет id, например. fac, date, sel, loc, tag ... и т. д.
У нас есть жесткий код индекса столбцов для установки и получения cookie в другом месте.
function doInitGrid(){
mygrid.setColumnIds("fac,date,sel,loc,tag"); //set ids
mygrid.attachEvent("onFilterStart",function(ind,data)
{
setCookie("Tray_fac_filter",mygrid.getFilterElement(0).value,365); //column index 0
setCookie("Tray_loc_filter",mygrid.getFilterElement(3).value,365);//column index 3
setCookie("Tray_tag_filter",mygrid.getFilterElement(4).value,365); //column index 4
mygrid.getFilterElement(0).value = getCookie("Tray_fac_filter")
mygrid.getFilterElement(3).value = getCookie("Tray_dep_filter")
mygrid.getFilterElement(4).value = getCookie("Tray_prg_filter")
});
}
Но когда столбцы сдвигаются, проблема возникает как индекс изменения столбцов пока он установлен в SetCookie/getCoookie
DHTMLX позволяет получить индекс ИО с помощью -
var colInd = grid.getColIndexById(id);
eg: var colInd = grid.getColIndexById(date); // outputs 1.
After moving the date column to the end -- fac, sel, loc, tag, date // it will output 4.
Однако, у нас есть около 14 столбцов, которые могут быть перемещены/переставить, и я мог бы использовать
var colInd = grid.getColIndexById(id); 15 times
var facInd = grid.getColIndexById("fac");
var dateInd = grid.getColIndexById("date");
var selInd = grid.getColIndexById("sel");
var locInd = grid.getColIndexById("loc";
var tagInd = grid.getColIndexById("tag");
и поместите эти переменные в файл set/get cookie. Я думал, был ли лучший способ.
Чтобы лучше понять код, я поставил минимизированную версию кода в скрипке.
http://jsfiddle.net/19eggs/s5myW/2/