Start Building Professional
Web Apps Today


 
Categories Question details Back To List
Question  posted by rittik on Aug 10, 2009 06:00
open dhtmlx forum
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.