Nano Hash - криптовалюты, майнинг, программирование

jsf повторять внутри datatable

Я использую datatable и динамически получаю количество столбцов. Я попытался поместить повтор внутри следующим образом:

<h:dataTable  value="#{movieUserBean.sits}" var="row" 
        rowClasses="oddRows,evenRows" headerClass="header"
        styleClass="table" cellpadding="5" cellspacing="0">

      <ui:repeat  value="#{row}" var="sit">
          <h:column>
             <h:selectBooleanCheckbox   value= "#{movieUserBean.checked[sit.id]}"/>
          </h:column>
      </ui:repeat>

Which sits is a two dimensions array, my thought was that datatable should loop over the sits rows and repeat loops over every value inside every row (which is an object named Sit with get method: getId).

Проблема в том, что я получаю пустую таблицу. Похоже, var "sit" не получает значения. Может ли проблема заключаться в том, что datatable игнорирует любые элементы, которые не входят в область действия столбца?

24.08.2012

Ответы:


1

ui:repeat вызывается перед фазой ответа на рендеринг, я предлагаю вам использовать DynamicColumns простых лиц http://www.primefaces.org/showcase/ui/datatableDynamicColumns.jsf

31.03.2014

2

Простое решение было бы

<table>
    <ui:repeat  value="#{movieUserBean.sits}" var="row">
    <tr>
        <ui:repeat  value="#{row}" var="sit">
          <td><h:selectBooleanCheckbox value= "#{movieUserBean.checked[sit.id]}"/></td>
    </ui:repeat>
    </tr>
    </ui:repeat>
</table>

Если у вас есть переменные столбцы в строке, это может испортить стили CSS. Например, 5 столбцов в первой строке и 3 столбца во второй строке, как бы вы их стилизовали. Насколько я понимаю, вы хотите показать места в театре, занятые флажком.

Вы можете попробовать использовать ui:repeat с ul,li или div вместо таблицы. подход.

02.06.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..