2012-04-06 2 views
0

Gwt CellTable может отображать только объекты. Но мне нужно генерировать столбцы динамически (поэтому я не могу предопределять все поля в моем классе, которые требуют CellTable); и сделать некоторые строки, как «заголовки», как это:GWT CellTable. Текст вдоль строки

enter image description here

Или может быть вы можете посоветовать мне другое решение. (Таблица может содержать до 2000 строк. Так что мне также нужен пейджинг)

+0

Вы можете уточнить немного, ваши данные объекта фиксированные или динамически извлекаться во время выполнения? Какая точка ожидания (пользовательский интерфейс или данные) в вашем случае? – questzen

+0

@questzen, Столбцы и их данные динамически извлекаются во время выполнения. Данные – MyTitle

ответ

1

В Celltable вам необходимо определить каждую строку отдельно. Если вы посмотрите на код Showcae, вы видите, что каждый столбец добавляется следующим образом:

Column<YOURDATAOBJECT, String> nameColumn = new Column<YOURDATAOBJECT, String>(
     new TextCell()) { 
    @Override 
    public String getValue(YOURDATAOBJECT object) { 
     return object.getYOURCOLUMDATA(); 
    } 
}; 
this.addColumn(nameColumn, YOURHEADERNAME); 

Так можно добавить столбцы так просто, как, что, как в любой точке вашего кода, до тех пор, как данные находятся в вашем DataProvider, который вы определили для вас CellTable. Таким образом, вы задаете вопрос не о CellTable, это касается DataProvider, который вы определили для вас CellTable.

CellTable поддерживает пейджинг через SimplePager.

В целом CellTable поддерживает обе функции, которые вам нужны, но для их понимания требуется некоторое время.

В случае, если Вы еще не видели, посмотрите на официальном Showcase Google для CellTable

+0

Спасибо. Но я не понимаю, как добавлять новые столбцы, если у меня нет предопределенного класса POJO? этот код '@Override public String getValue (объект YOURDATAOBJECT) { return object.getYOURCOLUMDATA(); } получить значение 'получить значение из предопределенного поля класса YOURDATAOBJECT. Но у меня нет этого POJO, потому что мои столбцы всегда динамичны, я не знаю, сколько столбцов я получаю от БД. Как насчет линий «Header1» и «Header2»? Поскольку cellTable требует POJO-объект, как я могу отображать эти строки \? – MyTitle

+0

Вы уже ознакомились с ListDataProvider? (http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/view/client/ListDataProvider.html) – Stefan

+0

YOURDATAOBJEC ... Да, я использовал его в последнем проекте .. Но ЧТО Я ПИШУ ВМЕСТО, 'String getValue (объект YOURDATAOBJECT)' Я НЕ ПРЕДНАЗНАЧЕН класс YOURDATAOBJEC. Я не могу создать, потому что я не могу предсказать, сколько столбцов мне нужно отображать! – MyTitle

0

В настоящее время, насколько я знаете, что таблица со списком gwt не может делать строки заголовков, как вы хотите. Я считаю, что управление сеткой GXT может быть.

http://www.sencha.com/examples/

Смежные вопросы