Categories | Question details Back To List | ||
Sort and filter by together function dataSourcePopupHandler(id) { fs = NodeRoutings.cells(id,1).getValue() ; $("#CostDialog").dialog("open"); doInitDataSourceGrid(id); dataSourceGrid.filterBy(0,function(v){ if(fs == "")return true; return v == fs ; }) } function doInitDataSourceGrid(id){ dataSourceGrid = new dhtmlXGridObject('dataSourceGrid_container'); dataSourceGrid.setImagePath("<%=request.getContextPath()%>/public/dhtmlx/dhtmlxGrid/codebase/imgs/"); setColumnHeaders(id); dataSourceGrid.setInitWidths("41,41,41,41,41,41,41"); dataSourceGrid.setColAlign("center,center,center,center,center,center,center"); dataSourceGrid.setColSorting("str,str,str,int,str,str,str"); //dataSourceGrid.setColSorting("str,str,str,str"); dataSourceGrid.setColTypes("ro,ch,ro,ro,ro,ro,ro"); dataSourceGrid.setSkin("light"); dataSourceGrid.enableAutoHeight(true); //dataSourceGrid.enablePaging(false, 10, 10); dataSourceGrid.enableMultiline(false); dataSourceGrid.init(); dataSourceGrid.parse(document.getElementById('dataSourceGridString').value,"xml"); //dataSourceGrid.sortRows(3,"str","asc"); } Tring to sort the dataSourceGrid : after dataSourceGrid.filterBy: However unable to sort by Col index 3 :dataSourceGrid.sortRows(3,"str","asc"); Answer posted by Support on Aug 11, 2009 10:13 a) please be sure that sortRows is called before filterBy ( after first filtering, grid will lock original row order and will reuse it for next filtering - it can be resolved if necessary ) b) You are have "int" as sorting type for 4th column , so be sure that data in that column can be processed as numeric values ( parseFloat will be used to convert cell values to numbers ), if data is not parsable - grid will not be able to sorts correctly. |