我有一个数据表,我正在显示员工列表。在数据表的末尾,我有一个命令按钮。现在,如果用户选择数据表中的任何复选框,我希望启用我的命令按钮。最初,命令按钮被禁用。
下面是我的index.xhtml页面
<p:dataTable value="#{userPreferencesBean.studentDataModel}"
var="studentDetails" emptyMessage="No Student found."
selection="#{userPreferencesBean.selectedStudents}">
<f:facet name="header">
List of Students
</f:facet>
<p:ajax event="rowSelect" update="submit" listener="#{userPreferencesBean.onRowSelect}"/>
<p:ajax event="rowUnselect" update="submit" listener="#{userPreferencesBean.onRowSelect}"/>
<p:column selectionMode="multiple" style="width:2%" />
//All the columns
<f:facet name="footer">
<p:commandButton id="submit" value="Save Preferences"
icon="ui-icon-disk" style="float:right;"
action="#{userPreferencesBean.savePreferredInterfaces}"
update=":#{p:component('selectedInterfaceDetails')}"
disabled="#{not userPreferencesBean.hasPreferenceChanged eq false}"/>
</f:facet>
</p:dataTable>
以下是我的支持bean:
@ManagedBean
@SessionScoped
public class UserPreferencesBean implements Serializable {
private boolean hasPreferenceChanged = false;
public void onRowSelect(SelectEvent event) {
this.setHasPreferenceChanged(true);
}
public boolean isHasPreferenceChanged() {
return hasPreferenceChanged;
}
public void setHasPreferenceChanged(boolean hasPreferenceChanged) {
this.hasPreferenceChanged = hasPreferenceChanged;
}
我期待的是,一旦我选择一行,我的提交按钮应该被启用。但它没有发生。你能帮我理解我做错了吗?感谢。
关于, Sudipta Deb
答案 0 :(得分:-1)
尝试将表格放入表格。
此外,你可以使它更方便:
<p:commandButton id="submit" ... disabled="#{userPreferencesBean.selectedStudents==null}"/>