Hello,
I have problem with using page skin “toolbar”. When I try to select item in table the onDynXLSEvent (reloading grid component) is called. But I when I remove skin “toolbar” everything is allright. Function for click or double click are called as I want.
Here is code for initialization grid component. Can you help me please where is error? Thank you
grid = new dhtmlXGridObject(‘table_container’);
dhtmlxErrorHandler.addListener(myGridErrorHandler);
grid.setImagePath(themeScriptSrcPath + “/…/dhtmlx/imgs/”);
grid.setIconPath(themeScriptSrcPath + “/…/dhtmlx/imgs/”);
var header = ‘<spring:message code=“AR201.main.tableHeader.zdrojRizika.name”/>’;
header += ‘,<spring:message code=“AR201.main.tableHeader.ohrozeni.name”/>’;
header += ‘,<spring:message code=“AR201.main.tableHeader.mestskaCast.name”/>’;
header += ‘,<spring:message code=“AR201.main.tableHeader.umisteni.name”/>’;
grid.setHeader(header);
grid.setInitWidths(“100,100,100,*”);
grid.setColSorting(“server,server,server,server”);
grid.setColTypes(“ro,ro,ro,ro”);
grid.enableDragAndDrop(false);
grid.setEditable(false);
grid.setSkin(“light”);
grid.setPagingWTMode(true, true, false, true);
grid.enablePaging(true, ${seznamZdrojRizikaItem.strankovani.pocet}, null, “paging”, true, “recInfo”);
grid.setPagingSkin(“toolbar”);
grid.attachEvent(“onRowDblClicked”,showDetailItemOnDbClick);
grid.attachEvent(“onRowSelect”,doOnRowSelected);
grid.init();
grid.attachEvent(“onDynXLS”, onDynXLSEvent);
grid.attachEvent(“onXLE”, onXleFuncEvent);
grid.attachEvent(“onBeforeSorting”, onBeforeSortingEvent);
Used skin must not interfere with main logic of grid ( code of skin isolated and can be initiated only by actions in navigation zone )
Is problem occurs for “toolbar” skin only, or it occurs for any paging skin when same paging settings used ?
>>When I try to select item in table
When you selecting row in table, grid API issue changePage command , to be sure that row is visible. Normally it not a problem, but if you have loaded a lesser count of rows than was enough to fill the page ( or lesser than total_count specified ) grid can re-issue request to the server for additional rows.
Also, because you are using server side sorting, any click in header area will result in reloading and may be reason of onDynXLS event as well.
It ocures only for Toolbar, in other it is allright.
Could you provide as any kind of sample where we can reproduce this problem. You can send sample directly to the support@dhtmlx.com
a) XML which you are using has not any predefined IDs for rows, which may cause different error
b) In your code there is a next line
grid.attachEvent(“onXLE”, onXleFuncEvent);
function onXleFuncEvent(grid, count) {
deleteCache();
so directly after data loading you clearing info about already loaded rows, and each operation which changes data in grid react on it, initiating data loading.
Many thanks, it helps me.