Как отсортировать записи (с кодом) в сгруппированной ListGrid?

Это сценарий: яя работаю со списочной сеткой, которую нужно сгруппировать, а также упорядочить записи в каждой группе. Я'мы уже использовалиListGrid.sort() иListGrid.sort(String, SortDirection) методы, но ни один из них не работает должным образом.

Эта проблема нене появляется, когда сетка неt сгруппированы (это делает сортировку отлично); и когда сортировка (сгруппированная по списку) группируется нажатием на заголовок столбца, работает нормально, но мне нужно отсортировать ее по коду (без взаимодействия с пользователем), потому что опция сортировки заголовка должна быть отключена (и контекстное меню тоже). Я'

м с использованием SmartGWT 4.0

Вот класс ям с помощью:

public class Access extends ListGrid {

    public Access() {
        super();
        setWidth("30%");
        setHeight100();
        // setShowHeaderContextMenu(false);
        setCanResizeFields(false);
        // setCanSort(false);
        setAutoFitWidthApproach(AutoFitWidthApproach.BOTH);
        setWrapCells(true);
        setFixedRecordHeights(false);
        setShowRecordComponents(true);
        setShowRecordComponentsByCell(true);

        ListGridField id = new ListGridField("id", "ID");
        ListGridField user = new ListGridField("user", "User");
        ListGridField access = new ListGridField("access", "Access");

        id.setHidden(true);
        user.setWidth("60%");
        access.setWidth("40%");

        access.setType(ListGridFieldType.BOOLEAN);
        access.setCanEdit(true);

        setFields(id, user, access);

        groupBy("access");
        access.setGroupTitleRenderer(new GroupTitleRenderer() {
            public String getGroupTitle(Object groupValue, GroupNode groupNode, ListGridField field, String fieldName,
                    ListGrid grid) {
                return (String) groupValue + " - " + groupNode.getGroupMembers().length;
            }
        });
        getField("access").setGroupValueFunction(new GroupValueFunction() {
            public Object getGroupValue(Object value, ListGridRecord record, ListGridField field, String fieldName,
                    ListGrid grid) {
                Boolean access = (Boolean) value;
                if (access)
                    return "With access";
                else
                    return "Without access";
            }
        });

        ListGridRecord lgr1 = new ListGridRecord();
        lgr1.setAttribute("id", 1);
        lgr1.setAttribute("user", "ewgzx");
        lgr1.setAttribute("access", true);

        ListGridRecord lgr2 = new ListGridRecord();
        lgr2.setAttribute("id", 2);
        lgr2.setAttribute("user", "Bgfths");
        lgr2.setAttribute("access", false);

        ListGridRecord lgr3 = new ListGridRecord();
        lgr3.setAttribute("id", 3);
        lgr3.setAttribute("user", "utcvs");
        lgr3.setAttribute("access", true);

        ListGridRecord lgr4 = new ListGridRecord();
        lgr4.setAttribute("id", 4);
        lgr4.setAttribute("user", "gfdjxc");
        lgr4.setAttribute("access", false);

        ListGridRecord lgr5 = new ListGridRecord();
        lgr5.setAttribute("id", 5);
        lgr5.setAttribute("user", "763");
        lgr5.setAttribute("access", true);

        ListGridRecord lgr6 = new ListGridRecord();
        lgr6.setAttribute("id", 6);
        lgr6.setAttribute("user", "2");
        lgr6.setAttribute("access", false);

        ListGridRecord lgr7 = new ListGridRecord();
        lgr7.setAttribute("id", 7);
        lgr7.setAttribute("user", "35");
        lgr7.setAttribute("access", false);

        ListGridRecord lgr8 = new ListGridRecord();
        lgr8.setAttribute("id", 8);
        lgr8.setAttribute("user", "123");
        lgr8.setAttribute("access", true);

        ListGridRecord lgr9 = new ListGridRecord();
        lgr9.setAttribute("id", 9);
        lgr9.setAttribute("user", "2342");
        lgr9.setAttribute("access", true);

        ListGridRecord lgr10 = new ListGridRecord();
        lgr10.setAttribute("id", 10);
        lgr10.setAttribute("user", "aqwc");
        lgr10.setAttribute("access", false);

        setRecords(new ListGridRecord[] { lgr1, lgr2, lgr3, lgr4, lgr5, lgr6, lgr7, lgr8, lgr9, lgr10 });

        sort("user", SortDirection.ASCENDING);
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос