Как создать дополнительную фильтрацию в таблице?
Ребят, такая беда, глобальная беда, просто катастрофа, всю голову уже сломала.
Есть приложение, есть js-файлик:
var dhxWins, winTemp;
var gridObjects;
var tbObjects, sbObjects;
var dpObjects;
var menuObjects;
function showObjects() {
if ( typeof(tabModes) !== 'undefined' ) {
gridObjects = tabModes.cells("a2").attachGrid();
sbObjects = tabModes.cells("a2").attachStatusBar();
} else {
dhxWins = new dhtmlXWindows();
dhxWins.attachViewportTo("object_managment");
dhxWins.setImagePath("/dhtmlxSuite/dhtmlxWindows/codebase/imgs/");
winTemp = dhxWins.createWindow("main", 0, 0, 0, 0);
dhxWins.window("main").maximize();
dhxWins.window("main").hideHeader();
gridObjects = winTemp.attachGrid();
//menuObjects = winTemp.attachMenu();
tbObjects = winTemp.attachToolbar();
sbObjects = winTemp.attachStatusBar();
tbObjects.setIconsPath("/dhtmlxSuite/common/imgs/");
tbObjects.addButton("new", 0, "", "new.gif", "new_dis.gif");
tbObjects.addSeparator("sep1", 1);
tbObjects.addButton("open", 2, "", "open.gif", "open_dis.gif");
tbObjects.addButton("save", 3, "", "save.gif", "save_dis.gif");
//tbObjects.disableItem("save");
//tbObjects.addButton("save_as", 4, "Save As...", "save_as.gif", "save_as_dis.gif");
tbObjects.addSeparator("sep2", 5);
tbObjects.addButton("reload", 6, "", "reload.gif", "reload_dis.gif");
/*tbObjects.addButton("redo", 7, "", "redo.gif", "redo_dis.gif");
tbObjects.addSeparator("sep3", 8);
tbObjects.addButton("cut", 9, "Cut", "cut.gif", "cut_dis.gif");
tbObjects.addButton("copy", 10, "Copy", "copy.gif", "copy_dis.gif");
tbObjects.addButton("paste", 11, "Paste", "paste.gif", "paste_dis.gif");
tbObjects.addSeparator("sep4", 12);*/
tbObjects.attachEvent("onClick", function(id) {
objToolbarOnClick(id);
});
}
menuObjects = new dhtmlXMenuObject();
menuObjects.setIconsPath("/dhtmlxSuite/common/imgs/");
menuObjects.renderAsContextMenu();
menuObjects.addNewChild(null, 0, "edit", "Изменить");
menuObjects.addNewChild(null, 1, "service", "Снять с обслуживания");
menuObjects.addNewChild(null, 2, "delete", "Удалить", false, "close.gif");
menuObjects.addNewSeparator("service");
menuObjects.attachEvent("onClick", objMenuOnClick);
sbObjects.setText("Выбрано: <span id='objects_amount'>0</span>");
gridObjects.setSkin('dhx_skyblue');
gridObjects.setImagePath("/dhtmlxSuite/dhtmlxGrid/codebase/imgs/");
gridObjects.setHeader("№,Отделение,Район,Населенный пункт,Название,ПерваяSIM,ВтораяSIM,vivod,Автотест,МЧС");
//gridObjects.setHeader("A,B,C");
gridObjects.attachHeader("#text_filter,#select_filter,#select_filter,"
+ "#text_filter,#text_filter,#text_filter,#text_filter,#select_filter,"
+ "#rspan,#rspan");
gridObjects.setColAlign("center,left,left,left,left,center,center,center,center,center");
//gridObjects.setDateFormat("%d.%m.%Y");
gridObjects.setColSorting("int,str,str,str,str,str,str,date,str")
gridObjects.setInitWidths("50,120,120,200,*,100,100,65,40");
gridObjects.setColTypes("ro,coro,coro,ed,ed,ro,ro,ro,ch");
//gridObjects.setColSorting("int,str,str,str,str,str,str,date,str");
gridObjects.enableContextMenu(menuObjects);
gridObjects.init();
gridObjects.attachEvent("onFilterEnd", objPutAmount);
dpObjects = new dataProcessor('/objects/summary');
dpObjects.action_param = "dhx_editor_status";
dpObjects.init(gridObjects);
dpObjects._console.style.top = "420px";
//document.getElementById("filterDep").appendChild(document.getElementById("filterBoxDep").childNodes[1]);
//document.getElementById("filterReg").appendChild(document.getElementById("filterBoxReg").childNodes[1]);
//gridObjects.attachFooter(",,,,,,,,");
gridObjects.loadXML("/objects/summary");
gridObjects.setSizes();
setTimeout("objPutAmount()", 1000);
}
function objPutAmount() {
document.getElementById('objects_amount').innerHTML = gridObjects.getRowsNum();
}
function objToolbarOnClick(id) {
if ( id == "save") {
dpObjects.sendData();
} else if ( id == "open") {
gridObjects.deleteRow("9998");
} else if ( id == "new") {
gridObjects.addRow("500",["500","10"],1);
}
}
function objMenuOnClick(menuitemId, type) {
var data = gridObjects.contextID.split("_");
gridObjects.selectRowById(data[0]);
}
В этом файлике dhtmlxgrid
обращается к базе MySQl, мне нужно создать фильтрацию в таблице MySQl. Как мне объяснили, grid создает автоматическую фильтрацию, которая существует на большом клиенте приложения.
Вопрос заключается в том, что я не понимаю, как мне создать дополнительную фильтрацию в таблице, может быть, хоть кто-нибудь сможет объяснить на пальцах, как это безобразие создается. )))))
Источник: Stack Overflow на русском