2012-05-25 2 views
0

У меня есть данные с динамически генерируемыми данными из базы данных. Пользователь может выбирать/отменять выбор строк, но только те, которые не установлены как mustSelect из базы данных.Динамически разрешающие/изменяемые по диагонали флажки в jsf с точками

Мои Bean

 public boolean isDisabled() { 
    if (evState == EvaluationState.MUST_EVALUATE) { 
     return true; 
    } else { 
     return false; 
    } 
} 

public boolean isChecked() { 
    if (evState == EvaluationState.EVALUATE 
      || evState == EvaluationState.MUST_EVALUATE) { 
     return true; 
    } else { 
     return false; 

    } 
} 

и мой xhtmlCode:

< р: значение selectBooleanCheckbox = "# {myBean.checked}" отключена = «# {} myBean.disabled "/>

, который в настоящее время не работает, как я хочу, чтобы я т. Все флажки выделены. Во время компиляции я не знаю, какой флажок включен или нет, поэтому я отключил этот метод.

Я был бы очень рад, если у кого-то есть решение, как установить динамически отключен.

ответ

1

Ваша модель должна содержать 2 атрибута для обработки этих операций, а не вашего контроллера.

//defining the model 
public class Data { 
    private String name; 
    //you get the idea... 
    private boolean checked; 
    private boolean disabled; 
    //getters and setters... 
} 

//defining the controller 
@ViewScope 
public class MyBean { 
    private List<Data> lstData; 

    public MyBean() { 
     //initialize data... 
    } 

    //getter and setter 
} 

Вид

<h:dataTable value="#{myBean.lstData}" var="data"> 
    <h:column> 
     <h:outputText value="#{data.name}" /> 
    </h:column> 
    <h:column> 
     <p:selectBooleanCheckbox value="#{data.checked}" disabled = "#{data.disabled }"/> 
    </h:column> 
</h>dataTable> 

таким образом, каждая строка имеет свой собственный проверенный и отключил значение данных.

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