Hi,
I am facing a very problematic bug.
I own a Enterprise licence
version : dhtmlxSuite_2009Rel1_pro_90226
#select_filter (local) don’t work anymore when using connector component in page.
To reproduce the bug, it’s very easy.
Use you sample :
dhtmlxTreeGrid/samples/grid_operations/treegrid_filtering.html
Add the line : , in head section, after including all other JS.
Refresh
Now, your #select_filter are all empty !
Please, could you help, it’s VERY URGENT.
Regards
#select_filter filter is a fully client side. This filter will not correctly in case of dynamic loading. #select_filter cannot filter rows which wasn’t loaded in the client side yet.
If you are using dhtmlxConnector to populate your grid you can use #connector_select_filter.
Please see more information about filtering in grid populated with dhtmlxConnector here dhtmlx.com/docs/products/dhtmlxC … l#cc_guide
Sorry, your answer is not clear.
- First, could you tell me why, if i include the “connector.js” in the very classical sample i gave in my question, “#select_filter” don’t work anymore. Understand, i didn’t touch any other line of code in the sample. I think it’s not normal.
- Second, in my real code, i user processor and connector.
Why do you say “#select_filter cannot filter rows which wasn’t loaded
in the client side yet.” ?
In fact, i use connector to load full dataset (not dynamical loading). So all the result is loaded with the “loadXML” that point to a php page, as in you connector samples. So data is loaded and available to be filtered on the client side. I don’t want server side filtering.
I test the “#connector_select_filter”, and menu keep empty on the headers.
To give more complement, here is the code i use. I am in a Layout frame.
The result is perfect, but the select filter menu in headers keeps empty.
No error with firebug.
mygrid = dhxLayout.cells(“c”).attachGrid();
mygrid.selMultiRows = true;
mygrid.imgURL = “js/dhtmlxGrid/codebase/imgs/”;
mygrid.setHeader(“RG1,RG2,RG3”);
mygrid.setInitWidths(“100,100,100”)
mygrid.setColAlign(“left,left,left”)
mygrid.setColTypes(“ed,ed,ed”);
mygrid.setColSorting(“str,str,str”);
mygrid.enableDragAndDrop(true);
mygrid.enableMultiselect(true);
mygrid.attachHeader("#connector_select_filter,#connector_select_filter,#connector_select_filter");
mygrid.setSkin(“light”);
mygrid.init();
mygrid.loadXML(“datas.php”); // copied from your 01_basic_connector.php sample to connect to my database, and table format.
var dp = new dataProcessor(“datas.php”);
dp.setTransactionMode(“POST”,true);
dp.setUpdateMode(‘cell’,true);
dp.init(mygrid);
Conflict between #select_filter and connector.js confirmed and fixed, please use attached js file instead of original one. ( with it #select_filter will be correctly filled with values )
connector.zip (1.29 KB)
Why do you say “#select_filter cannot filter rows which wasn’t loaded in the client side yet.” ?
That was related to the dyn. srnd mode.
Normally #select_filter can be used in plain loading mode or static srnd loading mode, when all data available on client side.
If you are using dyn. smart-rendering mode, when data loaded by chunks - client side filtering can’t be used, because there is no enough info to process all rows ( the problem symptom is very similar to the one caused by connector.js conflict - empty select box )
Great, i confirm your fix is working for the conflict with connector.js
Thanks for your fast actions !
Best regards.