我有一个显示员工列表的数据表。在数据表的末尾,我有一个命令按钮。现在,如果用户选择数据表中的任何复选框,我希望启用我的命令按钮。最初,命令按钮被禁用。
下面是我的 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