如何制作不可编辑的CellTable?

时间:2012-09-27 14:38:37

标签: gwt gwt-platform celltable

我使用此问题作为指南制作了动态CellTable:Create GWT CellTable Dynamically

但是我只能制作一个可编辑的CellTable,我不知道为什么。

检查我的代码:

@UiField
CellTable<List<String>> tableDynamic;
@UiField
SimplePager pagerDynamic;

private SingleSelectionModel<List<String>> 
selectionModelDynamic = new SingleSelectionModel<List<String>>();
private List<String> columns = new ArrayList<String>();
private List<List<String>> data = new ArrayList<List<String>>();
private ListDataProvider<List<String>> providerDynamic 
= new ListDataProvider<List<String>>();

我的工厂

@UiFactory
public CellTable<List<String>> getTabelaDynamic() {
    CellTable<List<String>> table
            = new com.google.gwt.user.cellview.client.CellTable<List<String>>();

    //List<String> columnsArray = colunas;
    List<String> columnsArray = columns();
    for (int column = 0; column < columnsArray.size(); column++) {
        table.addColumn(new IndexedColumn(column), new
                TextHeader(columnsArray.get(column)));
    }
    table.setKeyboardSelectionPolicy
 (HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.ENABLED);
    table.setSelectionModel(selectionModelDynamic);
    providerDynamic.addDataDisplay(table);
    providerDynamic.setList(new ArrayList<List<String>>());
    return table;
}

获取列的方法:

//Just a static test 
public List<String> columns(){
    colunas.add("Tables");
    return colunas;
}

只用一列设置数据的方法。

@Override
public void setSingleData(List<String> bankData) {
    for (String s : bankData) {
         List<String> help = new ArrayList<String>();
         help.add(s);
         dados.add(help);
    }
    providerDynamic.setList(data);
}

我执行rpc调用(onBind方法)以获取列表并填充setsingledata方法。

为什么我收到一个可编辑的小册表?

1 个答案:

答案 0 :(得分:3)

您的表格是可编辑的,因为IndexedColumn在另一个问题中使用EditTextCell。使用TextCell,您的表格将无法编辑。