2014-06-11 5 views
0

Я использую Primefaces4.0, JSF 2.0 и Tomahawk2.0Таблица данных Частичное обновление от Ajax вызова

У меня есть p:fileUpload, который на самом деле читать данные называют некоторые процедуры и показать результаты после того, как в t:dataTable с помощью update

Я столкнулся с Проблема. Если файл слишком велик, требуется несколько секунд, чтобы показать результаты (30-40 секунд), что не является хорошей практикой.

Я хочу заполнить t:dataTable в каждой итерации цикла цикла, которая считывает значения, вызывается процедура и показывает результат.

+0

Есть ли способ обновить клиентскую сторону UI, используя 'UIComponent' – Sarz

+0

Можете ли вы опубликовать бит своего примера кода и четко объяснить проблему? –

+0

Хорошо, что вы планируете делать, не лучше. Вместо того, чтобы выполнять всю необходимую обработку серверной стороны за один ход и одновременно обновлять таблицу за один ход, вы планируете отправлять трафик в браузер для каждой строки, которую вы обрабатываете? Как это более эффективно? Во всяком случае, это удвоит время обработки всего. Просто покажите пользователям графику загрузки с '' или что-то в этом роде. Yikes – kolossus

ответ

0

Чтобы обновить любой компонент из ManagedBean, вы можете использовать метод Primefaces update() на RequestContext.

RequestContext.getCurrentInstance() .update("component_ID") 

Но я сомневаюсь, что это решит вашу проблему.
Поскольку методы RequestContext будут влиять, когда Response возвращается из ManagedBean.
И это не произойдет после каждой итерации цикла, это происходит, когда действие метода завершено.

Предпочитаемый и лучший способ обработки огромной совокупности данных в DataTable заключается в использовании LazyModel.

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