ListGrid选择在右边

时间:2014-01-16 12:18:11

标签: smartgwt listgrid

我有一个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是否有一种干净的方式?

1 个答案:

答案 0 :(得分:0)

我认为您应该尝试按以下方式重新排序列:

listGrid.reorderField(0, lastposition);

此处0表示第一个复选框列&amp; lastposition表示网格列的最后一个索引。