rich:dataTable, получающий общее количество из filterBy колонок

У меня есть богатая таблица данных с колонками, которые я могу отфильтровать.

<!-- Data table with filters -->


   
      Invoice
      
   
   
      Description
      
   
   
      Amount
      
    



<!-- Total -->

    

Для общего количества я могу суммировать все суммы в sessionScope.paymentsBean.payments, чтобы получить общее количество. Который составляет 355.00$ в следующем примере.

Invoice     Description     Amount
1           Cash            $5.00
2           Visa            $50.00
3           Visa            $100.00
4           MasterCard      $200.00 

Total: $355.00

Однако, если бы я фильтрую "Визой", стол и общее количество были бы похожи:

Invoice     Description     Amount
2           Visa            $50.00
3           Visa            $100.00

Total: $355.00

Общее количество должно составить 150$, но getTotal() не знает о filterBy данных. Есть ли способ динамично вычислить общее количество на основе filterBy критериев от rich:datatable?

1
nl ja de
Можно ли определить RichFaces и версии JSF, которые вы используете?
добавлено автор Xtreme Biker, источник
JSF 2 с PrimeFaces, можно сделать это наверняка, потому что Таблица данных связана с два, перечисляет, главный и фильтрованный, таким образом, у вас есть фильтрованный список, всегда доступный в вашем бобе поддержки. С PF 1.2 и богатыми 3.3 я думаю, что сделал что-то подобное, I' ll смотрят.
добавлено автор Xtreme Biker, источник
Несомненно, I' m использование JSF 1.2 и Richfaces 3.3.3 Финала. Я can' t делают любую модернизацию этих библиотек, так как это - часть большего проекта, но it' ll быть хорошим знать, есть ли у JSF 2 или Richfaces 4 поддержка его.
добавлено автор Steve C, источник

1 ответы

Есть способ возвратить фильтрованные данные. Вам нужен стол, который будет связан с отступающим свойством компонента, и вам нужен он, чтобы быть a rich:extendedDataTable.

Binded attribute will be HTMLExtendedDataTable type. After that you will need to create an Ajax call when user types something in the filter, to be called. See component and use it when a key is pressed, as:

Не забудьте называть метод Аякса на фильтрациях может быть хитрым. Я искренне предлагаю избежать встроенных фильтров стола и создать ваши таможенные, базирующиеся в h:inputText и осуществить ваши требования ajax здесь. Можно смотреть в это связь.

Как только метод называют вами, просто должен получить фильтрованные ряды, вычислить общую сумму и вставить в переменной, по которой JSF обновит коробку, когда требование будет закончено. Что путь состоит в том, чтобы получить фильтрованные ряды? Там вы имеете:

public List filteredList() {
    List list = new java.util.ArrayList();

    int i = 0;
    boolean loop = true;

    while (loop) {
        table.setRowKey(new Integer(i));
        if (table.isRowAvailable()) {
            list.add((E) table.getRowData());
            i += 1;
        } else {
            loop = false;
        }
    }

    table.setRowKey(null);
    return list;
}

В основном это делает петлю, пока нет никаких более доступных рядов в столе.Good luck.

0
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском