Smartgwt: Как получить значение флажка на сетке списка?

У меня есть прослушиватель на cellClick, я получаю выбранную запись, но не могу найти способ понять, проверена ли эта запись

Метод ListGrid.isSelected(ListGridRecord) возвращает true, если строка выбрана, а не если отмечена

Мой код:

listGrid.setSelectionAppearance(SelectionAppearance.CHECKBOX);
            listGrid.addCellClickHandler(new CellClickHandler() {

                @Override
                public void onCellClick(CellClickEvent event) {

                    if(event.getColNum() == 0 && idMenu != null){
                        boolean isChecked = event.getRecord().???;

                        if(isChecked)
                            ....
                        else
                                                    ....
        }

Я пытался также с event.getRecord(). GetAttributeAsBoolean("_checkField") без успеха...

2 ответа

Решение

Я нашел простое решение...

Моя задача решается с помощью специального логического поля в источнике данных с именем, например, "проверено". В ListGrid у меня есть поле "проверено", а с помощью RecordClickHandler я могу управлять проверкой или снятием отметки с события.

Код источника данных:

DataSourceBooleanField checkField = new DataSourceBooleanField ("проверено");

Код ListGrid:

listGrid.addRecordClickHandler (new RecordClickHandler () {

@Override
public void onRecordClick(RecordClickEvent event) {
                Record rec = event.getRecord();

                boolean checked = rec.getAttributeAsBoolean("checked");

                if(checked){
                  ...   
                }else{
                   ...
                }

                rec.setAttribute("checked", !checked);

                catPgrid.saveAllEdits();
                catPgrid.refreshFields();
            }
        });


        ListGridField checkField = new ListGridField("checked", "Sel");

Может быть, метод getSelectedRecords() поможет вам!

Вот ссылка на API: http://www.smartclient.com/smartgwt/javadoc/com/smartgwt/client/widgets/grid/ListGrid.html

Определенно, это обеспечит все выбранные записи (используя флажок), но должны быть некоторые значения, которые вы могли бы использовать для уникальной идентификации каждой записи!

Другие вопросы по тегам