-
1. filter by for rich:dataTable for invalid filter value is not working
ilya40umov Jan 22, 2011 6:05 AM (in response to atmohsin)1) Please post the full page code and the bean code if it's possible
2) Add rich:messages on your page
3) The solution like this one:
rendered="#{testBean.dataTable.rowCount>0}"
does not look good(IMHO). What do you want to do by it?
-
2. filter by for rich:dataTable for invalid filter value is not working
atmohsin Jan 22, 2011 10:15 AM (in response to ilya40umov)Hi
Find the defination of datatable.
Let me know if you any information.
Thanks
Mohsin
<rich:dataTable border="1" id="dataTable"
binding="#{userBean.dataTable}" width="100%"
value="#{userBean.dataLists}" var="user"
rows="#{userBean.pageSize}"
rendered="#{userBean.dataTable.rowCount>0}" rowClasses="row1, row2"
headerClass="tableHeaderStyle" footerClass="footerHeaderStyle" align="center">
<rich:column width="5%">
<f:facet name="header">
</f:facet>
<h:selectBooleanCheckbox type="checkbox" id="chkEble" value="#{user.selected}" disabled="#{user.userName == 'admin'}"/>
</rich:column>
<rich:column filterBy="#{user.userName}" filterEvent="onkeyup" width="50%">
<f:facet name="header">
<h:commandLink styleClass="columnHeaderStyle" actionListener="#{userBean.sortDataList}">
<f:attribute name="sortField" value="getUserName" />
<h:outputText value="#{msg.username}" />
<h:outputText value=" ▲" escape="false"
rendered="#{!userBean.sortAscending}" />
<h:outputText value=" ▼" escape="false"
rendered="#{userBean.sortAscending}" />
</h:commandLink>
</f:facet>
<h:outputText value="#{user.userName}"
styleClass="tableDataStyle" />
</rich:column>
<rich:column filterBy="#{user.role.roleName}" filterEvent="onkeyup" width="40%">
<f:facet name="header">
<h:commandLink styleClass="columnHeaderStyle" actionListener="#{userBean.sortDataList}">
<f:attribute name="sortField" value="role.getRoleName" />
<h:outputText value="#{msg.roleName}" />
<h:outputText value=" ▲" escape="false"
rendered="#{!userBean.sortAscending}" />
<h:outputText value=" ▼" escape="false"
rendered="#{userBean.sortAscending}" />
</h:commandLink>
</f:facet>
<h:outputText value="#{user.role.roleName}"
styleClass="tableDataStyle" />
</rich:column>
<rich:column width="5%">
<a4j:commandLink action="#{userForm.loadUser}"
reRender="userModalForm"
oncomplete="Richfaces.showModalPanel('userAddModal');">
<h:graphicImage value="/images/Edit_Button.gif" alt="Edit"
styleClass="imageStyle" rendered="#{user.userName != 'admin'}"/>
<f:setPropertyActionListener target="#{userForm.updatedId}"
value="#{user.id}" />
</a4j:commandLink>
</rich:column>
<f:facet name="footer">
<h:panelGroup>
<a4j:commandButton value="#{msg.first}"
action="#{userBean.pageFirst}"
disabled="#{userBean.dataTable.first == 0}"
reRender="dataTablePanel" />
<a4j:commandButton value="#{msg.prev}"
action="#{userBean.pagePrevious}"
disabled="#{userBean.dataTable.first == 0}"
reRender="dataTablePanel" />
<a4j:commandButton value="#{msg.next}"
action="#{userBean.pageNext}"
disabled="#{userBean.dataTable.first + userBean.dataTable.rows>=userBean.dataTable.rowCount}"
reRender="dataTablePanel" />
<a4j:commandButton value="#{msg.last}"
action="#{userBean.pageLast}"
disabled="#{userBean.dataTable.first +userBean.dataTable.rows>=userBean.dataTable.rowCount}"
reRender="dataTablePanel" />
<h:outputText
value="Page: #{userBean.currentPage} / #{userBean.totalPages}" />
<rich:spacer width="10" />
<h:outputText
value="#{msg.total} #{userBean.totalNumberOfRecords}" />
</h:panelGroup>
</f:facet>
</rich:dataTable>
-
3. filter by for rich:dataTable for invalid filter value is not working
ilya40umov Jan 22, 2011 1:09 PM (in response to atmohsin)I think your problem is in the following:
rendered="#{testBean.dataTable.rowCount>0}"
and when you apply filter which does not match any entiries your dataTable won't be rendered. Don't use such an approach to hide your data table.
-
4. filter by for rich:dataTable for invalid filter value is not working
atmohsin Jan 22, 2011 11:15 PM (in response to ilya40umov)Thanks it is working fine. I made simple mistake.
Now i am using following rendered="#{userBean.dataListSize>0}" it is working fine
Thanks a lot
Mohsin