Как сделать нередактируемую CellTable?

Я создал динамическую CellTable, используя этот вопрос в качестве руководства: Динамически создавать GWT CellTable

Но так я могу сделать только редактируемую 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.

Почему я получаю редактируемую таблицу ячеек?


person Bernardo Vale    schedule 27.09.2012    source источник


Ответы (1)


Ваша таблица доступна для редактирования, потому что IndexedColumn использует EditTextCell в другом вопросе. Используйте TextCell, и ваша таблица не будет редактируемой.

person Rebzie    schedule 28.09.2012