0

がありListGrid、右側に選択フィールドが必要です。方法はありますか?

私は試しました:

ListGrid listgrid= new ListGrid(){
        @Override
        public ListGridRecord[] getSelectedRecords() {
            ArrayList<ListGridRecord> ret = new ArrayList<ListGridRecord>();
            for(ListGridRecord record : this.getRecords()) {
                if ("true".equals(record.getAttribute("selected"))) {
                    ret.add(record);
                }
            }
            ListGridRecord[] returnable = new ListGridRecord[0];
            returnable = ret.toArray(returnable);
            return returnable;
        }

        @Override
        protected Canvas createRecordComponent(ListGridRecord record, Integer colNum) {
            String fieldName = this.getFieldName(colNum);
            if (fieldName.equals("selected")) {
                DynamicForm form = new DynamicForm();
                CheckboxItem select = new CheckboxItem("selected");
                select.setWidth("8%");
                form.setFields(select);
                return form;
            }
            else {
                return null;
            }
        }
    };

ただし、エラーログで通知されたように、この方法ではそのようなことはできません。CheckBoxitem

それで、右に選択されたのきれいな方法はありListGridますか?

4

1 に答える 1

0

次の方法で列を並べ替えてみるべきだと思います。

listGrid.reorderField(0, lastposition);

0これは、最初のチェックボックス列lastpositionを意味し、グリッド列の最後のインデックスを意味します。

于 2014-01-17T05:44:06.997 に答える