Привет,JSF DataTable, чтобы отобразить фиксированное количество строк
Контекст MyFaces 2.0.2, возможно также добавление Tomahawk 20-1.1.10
Я создал DataTable (в настоящее время является h:dataTable
, но также может быть t:dataTable
с использованием Tomahawk), отображающий определенные атрибуты List<MyObject>
в бэкэнде. У меня есть пейджинг, возвращая только subList
списка, а также сортировку по щелчку заголовков столбцов.
Следующее, что мне нужно сделать, это убедиться, что таблица всегда показывает фиксированное количество строк. Например, если размер моей страницы равен 5, и у меня есть 12 элементов в списке, мне нужна страница три, чтобы показать последние два элемента, а также 3 пустые строки.
Я попытался «подушка» на subList
с обеих нулями и экземплярами myObject
с нулевыми значениями, но это привело к ConcurrentModificationException
при ударе последней страницы таблицы (вид пытается getDisplayList
даже как метод подкачки был все еще добавляя дополнительные значения.). Затем я попытался заполнить основной список таким же образом, но затем получил NullPointer
s на мои функции сортировки (без проблем в заднем свете). Кроме того, все эти вещи являются дополнительными накладными расходами в поддержку, когда я предпочитаю делать это в представлении xhtml.
(h:/t:)dataTable
имеет атрибут rows
, но это указывает максимальное количество строк для отображения, а не минимальное, как мне нужно.
Идеи, пожалуйста?
Вы заметите, что это одна из вещей, которые я сделал. Результатом является исключение NullPointer для функций сортировки. Я использую анонимные внутренние классы компаратора, и объявление функции «public int compare (MyObject obj1, MyObject obj2)» - это то место, где возникает исключение, если сами объекты имеют значение null. Если объекты не являются нулевыми, но их значения, тогда исключение вызывается внутри этой функции, когда я имею, скажу «return obj1.getStringValue(). CompareTo (obj2.getStringValue()); – cobaltduck 2010-11-25 15:30:15