[jboss-user] [JBoss Seam] - Displaying data with dataTable
thejavafreak
do-not-reply at jboss.com
Wed Mar 14 23:05:45 EDT 2007
How do I display data with dataTable ?
>From my debug page the query is able to fetch one row of data, but why the rowAvailable is false? How do I set it to true? Is this what cause my data is not able to be displayed?
anonymous wrote :
| class class org.jboss.seam.jsf.ListDataModel
| dataModelListeners []
| rowAvailable false
| rowCount 1
| rowData java.lang.IllegalArgumentException[null]
| rowIndex -1
| wrappedData [com.taxandtech.smerp.model.Supplier at 1776426]
| toString() org.jboss.seam.jsf.ListDataModel at 1187f9
|
| class class org.jboss.seam.jsf.ListDataModel
| dataModelListeners []
| rowAvailable false
| rowCount 1
| rowData java.lang.IllegalArgumentException[null]
| rowIndex -1
| wrappedData [com.taxandtech.smerp.model.Supplier at 1776426]
| toString() org.jboss.seam.jsf.ListDataModel at 1187f9
|
| @Stateful
| @Scope(ScopeType.SESSION)
| @Name("supplierAction")
| public class SupplierAction implements SupplierService, Serializable
| {
| private static final long serialVersionUID = -3563521924777729108L;
|
| @PersistenceContext(type=PersistenceContextType.EXTENDED) EntityManager em;
| @In private FacesMessages facesMessages;
| @Out @In(create=true) Supplier supplier;
| @DataModel List<Supplier> suppliers;
| @Logger private static Log log = Logging.getLog(SupplierAction.class);
|
| @Create @Begin(nested=true, pageflow="supplier")
| public void begin(){}
|
| @Restrict public void save()
| {
| log.debug("Supplier name = #0", supplier.getName());
| em.persist(supplier);
| facesMessages.add("Successfully saved");
| }
|
| public String search()
| {
| log.debug("Supplier name (in) = #0", supplier.getName());
| suppliers = (List<Supplier>)searchQuery(supplier.getName()).getResultList();
|
| Iterator iterator = suppliers.iterator();
|
| while(iterator.hasNext())
| {
| supplier = (Supplier)iterator.next();
| log.debug("Supplier name (out) = #0", supplier.getName());
| }
|
| return "searchSupplier";
| }
|
| public List<Supplier> getSuppliers()
| {
| return suppliers;
| }
|
| public void setSuppliers(List<Supplier> suppliers)
| {
| this.suppliers = suppliers;
| }
|
| public Query searchQuery(String name)
| {
| return em.createQuery("from Supplier s where s.name like :name").setParameter("name", name);
| }
|
| public void reset() {}
|
| @Remove @Destroy
| public void destroy() {}
| }
|
| <f:subview rendered="#{!suppliers.rowAvailable}">
| <h:outputText value="#{messages['nodata']}"/>
| </f:subview>
|
| <f:subview rendered="#{suppliers.rowAvailable}">
| <h:outputText value="#{suppliers}" />
| <h:dataTable id="suppliers" value="#{suppliers}" var="supplier">
| <h:outputText value="#{supplier.name}" />
| </h:dataTable>
| </f:subview>
|
Have I missed out on something here?
Thanks in advance
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4028227#4028227
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4028227
More information about the jboss-user
mailing list