расширенное изменение размера таблицы данных

Я использую компонент расширенного DataTable Richfaces, и мне нужно увеличить высоту сетки, чтобы показать все строки без использования прокрутки. Для этого я добавил метод java-скрипта для запуска при загрузке страницы. Этот метод направлен на изменение размера сетки.

Причина, по которой я не мог сделать это в коде, заключается в том, что я не знаю высоту каждой строки, поскольку она не фиксирована, поскольку разрешен перенос слов.

Моя проблема заключается в том, что когда происходит действие ajax и отображается extendedDataTable, onLoad не выполняется снова. Итак, как я могу выполнить метод javascript после завершения запроса ajax?

Спасибо


person RO.    schedule 16.10.2009    source источник
comment
Какой компонент генерирует запрос ajax, который должен изменить размер таблицы данных?   -  person cetnar    schedule 19.10.2009


Ответы (3)


Вы явно устанавливаете атрибут «высота» для extendedDataTable или для div, который его заключает. Ну, я сделал подобное приложение, в котором размер extendedDataTable не должен превышать некоторые фиксированные границы (скажем, 600px X 600px). Аналогично в случае с отдельными столбцами, которые имеют фиксированную ширину (скажем, 60px). Это я делаю, явно устанавливая свойство «ширина» для rich:extendedDatatable и rich:column на фиксированное измерение. Поэтому, если число строк превышается, появляется полоса прокрутки. Теперь я хочу, чтобы мои данные (это очень-очень длинная строка) в каждой ячейке были обернуты и не превышали заданную ширину столбца (60 пикселей), но не могу этого сделать? В настоящее время extendedDataTable обрезает строку для первых 60 пикселей и помещает... после этого !! Было бы здорово, если бы вы могли дать некоторое представление об этом.

С уважением, КБ

person KB.    schedule 06.11.2009

Вместо того, чтобы пытаться прослушивать повторно визуализируемую таблицу данных, оберните таблицу и свой JavaScript в другой компонент, например h:panelGroup. Дайте h:panelGroup идентификатор и перерендерите его вместо rich:dataTable.

person Christopher Parker    schedule 26.01.2010

Используйте style="height:auto;", например:

<rich:extendedDataTable id="tableId" value="#{someModel.someValues}" var="someVar" style="height:auto;">
    <!-- ... -->
</rich:extendedDataTable>
person Chris311    schedule 25.09.2014