Я имею трудности понимания того, как мой Service класс должен быть написан для того, чтобы реализовать GXT пагинации с RequestFactory
GXT - RequestFactory интеграция с Paging Сетка
Я последовал пример, приведенный в Demo site, а также javadoc example, данный на веб-сайте Sencha, но не смог полностью понять и то, и другое.
Для начала скажем, что моя службы возвращается List<Data>
(Data
является POJO сервера), который должен быть загружено в разбитой на страницах моды.
Вот мой сервис класс, который подвергается методе PAGINATION
class BackendService {
public List<Data> getData(int pageNumber, int pageSize) {
int f = pageNumber * pageSize;
int l = f + pageSize;
if(f > 0 && l < datas.size()) {
return datas.subList(f, l);
}
return null;
}
}
RequestFactory
выглядит следующим образом
@Service(value=BackendService.class, locator=BackendServiceLocator.class)
interface BackendRequestContext extends RequestContext {
Request<List<DataProxy>> getData(int pageNumber, int pageSize);
}
BackendRequestContext context();
}
Пейджингового Grid
ожидает DataProxy
реализацию следующего
DataProxy<PagingLoadConfig, PagingLoadResult<com.emc.test.client.model.DataProxy>> proxy = new RequestFactoryProxy<PagingLoadConfig, PagingLoadResult<com.emc.test.client.model.DataProxy>>() {
@Override
public void load(PagingLoadConfig loadConfig, Receiver<? super PagingLoadResult<com.emc.test.client.model.DataProxy>> receiver) {
int pageNum = loadConfig.getOffset();
int pageSize = loadConfig.getLimit();
Request<List<com.emc.test.client.model.DataProxy>> request = backendRequestFactory.context().getData(pageNum, pageSize);
request.fire(receiver);
}
};
В приведенном вышеметод, эта линия дает ошибки компиляции
request.fire(receiver);
потому Receiver
, как ожидается, будет
Receiver<? super PagingLoadResult<com.emc.test.client.model.DataProxy>>
Может кто-нибудь, пожалуйста, помогите мне о
- как я должен реализовать метод обслуживания?
- Должен ли я вернуть
PagingLoadResult
вместоList
от самого обслуживания? Если да, то как?
Благодарим вас за внимание!
Awesome! .. спасибо, что освободили ..Я часто сталкиваюсь с трудностями в понимании сложных контрактов, которые, как ожидается, будут внедрены Sencha. Можете ли вы также указать мне на документы, которые доступны в Интернете относительно того же? – sanbhat
Я бы хотел :( Страница примеров GXT - ваш лучший друг. Если что-то там отсутствует, оно обязательно обсуждалось на официальном форуме или здесь, в stackoverflow. [Официальный блог] (http: //www.sencha. com/blog/category/sencha-gxt) также содержит несколько пояснительных статей и является хорошим местом для начала. –