Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Issue with sortByGroupFirst when adding new formula and then grouping immediately

$
0
0
Hi, continuing to evaluate the new sortByGroupFirst feature and see another issue.


Load this example:
http://www.smartclient.com/#customColumns

Use the code below that sorts by population descending and turns on sortByGroupFirst with groupSortDirection of 'ascending'

Steps

1. Show Formula Builder
2. Add formula: record.continent=='Asia'?2:1 and save
3. Group by new Formula column
4. The grid should sort by the new grouped formula column in ascending order. But it doesn't and shows the 2 group first.


Code:


var ds = isc.DataSource.get("countryDS");

isc.VLayout.create({
        ID:"layout",
        width:500, height:250,
        members: [
                isc.HLayout.create({
                        ID:"buttonLayout",
                        width:"*", height:30,
                        membersMargin: 10,
                        members: [
                                isc.IButton.create({
                                    ID: "formulaButton",
                                    autoFit: true,
                                    title: "Show Formula Builder",
                                    click: "countryList.addFormulaField();"
                                }),
                                isc.IButton.create({
                                    ID: "summaryButton",
                                    autoFit: true,
                                    title: "Show Summary Builder",
                                    click: "countryList.addSummaryField();"
                                }),
                                isc.IButton.create({
                                    ID: "stateButton",
                                    autoFit: true,
                                    title: "Recreate from State",
                                    click: function () {
                                        var state = countryList.getFieldState();
                                                countryList.destroy();
                                                recreateListGrid();
                                        countryList.setFieldState(state);
                                    }
                                })
                        ]
                })
        ]
});

recreateListGrid();

function recreateListGrid() {
        var grid = isc.ListGrid.create({
            ID: "countryList",
            width:"100%", height:"*",
            alternateRecordStyles:true, cellHeight:22,
            dataSource: ds,
            sortByGroupFirst:true,
                      groupSortDirection:'ascending',
            autoFetchData: true,
            canAddFormulaFields: true,
            canAddSummaryFields: true,
            fields:[
                {name:"countryCode", title:"Flag", width:50, type:"image", imageURLPrefix:"flags/16/",
                    imageURLSuffix:".png"
                },
                {name:"countryName", title:"Country"},
                {name:"capital", title:"Capital"},
                {name:"population", title:"Population"},
                {name:"area", title:"Area (km²)"},
                {name:"gdp", format: ",0"}
            ]
        });

                                        var sort = {property:'population',direction:Array.DESCENDING        };               
                                        var sortList=[];
                                        sortList.push(sort);

                                        countryList.setSort(sortList);

    layout.addMember(grid);
}


Viewing all articles
Browse latest Browse all 4756

Latest Images

Trending Articles



Latest Images