Hi Alex,
To specify a binding. In your backing bean you create a property with
accessors, such as
private CoreTable tableCustomer;
public void setTableCustomer(CoreTable tableCustomer) {
this.tableCustomer = tableCustomer;
}
public CoreTable getTableCustomer() {
return tableCustomer;
}
Through the getter you can access for example the selected row, as was done in
the example below.
On your page you can now use the attribute
binding="#{managedBeanName.tableCustomer}"
More information on the component classes can be found here:
http://myfaces.apache.org/trinidad/trinidad-api/tagdoc.html
Just click on a component tag, <tr:table> for example, and in the summary you
see UIComponent class with behind it a link to the JavaDocs
And yes I use the Trinidad 1.0.10 version.
-----Original Message-----
From: alex01130 [mailto:[email protected]]
Sent: Tue 12/23/2008 17:21 PM
To: MyFaces Discussion
Cc:
Subject: Re: Trinidad1.0.10: How to refresh a table after rowSelection
Dear René,
the difference to your solution seems to me, that I have no binding
defined.
Would you be so kind to mail me how you declared your "table.Customer",
because I don't know how a binding has to be specified.
By the way are you also using Trinidad Version 1.0.10?
Thanks a lot for you help,
Alex
----- Original Message -----
From: "René van Wijk" <[email protected]>
To: "MyFaces Discussion" <[email protected]>
Sent: Tuesday, December 23, 2008 9:32 AM
Subject: RE: Trinidad1.0.10: How to refresh a table after rowSelection
> Hi Alex,
>
> Maybe the problem lies in the use of <html><head><body> and also
<tr:document>. The <tr:document> tag also inserts a <html> etcetera into
your page.
> If that does not solve it, here is an example of what i have done in a
similar case.
> Example page contains a customer table and an order table. The order
table
is refreshed is a particular row of the customer table is being selected
>
> <f:view>
> <tr:document title="#{res['customer.title']}">
> <h:form>
> <tr:panelPage>
> ...
> <tr:panelHeader text="#{res['customer.title']}">
> <tr:table id="tablecustomer"
value="#{customerorder.customers}"
> var="customer" rowBandingInterval="1"
> rows="5" rowSelection="single"
> binding="#{customerorder.tableCustomer}"
> emptyText="#{res['info.no.rows']}"
>
selectionListener="#{customerorder.customerSelectionListener}"
> autoSubmit="true">
> <tr:column headerText="#{res['customer.name']}"
sortable="true" sortProperty="name">
> <tr:outputText value="#{customer.name}"/>
> </tr:column>
> ...
> </tr:table>
> </tr:panelHeader>
> <tr:panelHeader id="panelheaderorder"
text="#{res['order.title']} by #{customerorder.selectedCustomer.name}"
> partialTriggers="tablecustomer">
> <tr:table id="tableorder"
value="#{customerorder.bestellingen}"
> var="bestelling" rowBandingInterval="1"
> emptyText="#{res['info.no.rows']}"
> partialTriggers="::tablecustomer">
> <tr:column headerText="#{res['order.orderdate']}"
sortable="true" sortProperty="orderDate">
> <tr:outputText value="#{bestelling.orderDate}">
> <f:converter converterId="dateconverter"/>
> </tr:outputText>
> </tr:column>
> ...
> </tr:table>
> </tr:panelHeader>
> </tr:panelPage>
> </h:form>
> </tr:document>
> </f:view>
>
> The selection listener looks as follows
>
> public void customerSelectionListener(SelectionEvent
selectionEvent) {
> selectedCustomer =
(Customer)tableCustomer.getSelectedRowData();
> bestellingen = selectedCustomer.getBestellingen();
> }
>
> This picks up the selected row and gets the orders belonging to that
row.
The bold faced text is the relevant part. The bold-italic is also
represented in the selection listener.
> Actually you can leave out the ::, you just get a warning. The ::
excludes
this naming container and its children in the process of looking from a
corresponding ID.
>
> Hope this is of any help to you
>
> -----Original Message-----
> From: alex01130 [mailto:[email protected]]
> Sent: Mon 12/22/2008 21:12 PM
> To: MyFaces Discussion
> Cc:
> Subject: Re: Trinidad1.0.10: How to refresh a table after rowSelection
>
>
>
> Dear René,
>
> thanks for your quick response. Unfortunally I can't get a refresh
trying
> your advise. Maybe I made some mistake.
>
> My complete page is:
>
> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
>
> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
>
> <%@ taglib uri="http://myfaces.apache.org/trinidad" prefix="tr"%>
>
> <%@ taglib uri="http://myfaces.apache.org/trinidad/html"
prefix="trh"%>
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
>
> <html>
>
> <head>
>
> <meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
>
> <title>Insert title here</title>
>
> </head>
>
> <f:view>
>
> <body>
>
> <tr:document>
>
> <h:form>
>
> <tr:table id="custab" value="#{customerBean.all}"
var="currentCustomer"
>
> rowBandingInterval="1" rowSelection="single" autoSubmit="true"
> selectionListener="#{customerBean.selectEvent}">
>
> <tr:column sortProperty="userid" sortable="true" headerText="Id">
>
> <h:outputText value="#{currentCustomer.userid}"></h:outputText>
>
> </tr:column>
>
> <tr:column sortProperty="username" sortable="true"
headerText="Username">
>
> <h:outputText value="#{currentCustomer.username}"></h:outputText>
>
> </tr:column>
>
> </tr:table>
>
>
> <tr:table id="gpstab" partialTriggers="::custab ::b1"
> value="#{customerBean.allGps}" var="currentGps"
>
> rowBandingInterval="1" rowSelection="single" autoSubmit="true"
> selectionListener="#{customerBean.selectGpsEvent}">
>
> <tr:column sortProperty="gpsid" sortable="true" headerText="GpsId">
>
> <h:outputText value="#{currentGps.gpsid}"></h:outputText>
>
> </tr:column>
>
> <tr:column sortProperty="userid" sortable="true" headerText="UserId">
>
> <h:outputText value="#{currentGps.userid}"></h:outputText>
>
> </tr:column>
>
> <tr:column sortProperty="gpsname" sortable="true"
headerText="Gpsname">
>
> <h:outputText value="#{currentGps.gpsname}"></h:outputText>
>
> </tr:column>
>
> <tr:column sortProperty="gpsphone" sortable="true"
headerText="GpsPhone">
>
> <h:outputText value="#{currentGps.gpsphone}"></h:outputText>
>
> </tr:column>
>
> </tr:table>
>
> As you can see I have defined 2 Triggers for test-purposes. Button
trigger
> works fine, row selection as trigger doesn't work. Defining the row
> selection trigger without at least one ":" yields to a runtime error:
"use
> the correct syntax" or so.
>
> Do you have any suggestions whats wrong?
>
> Thanks in advance
>
> Alex Georg
>
>
>
>
>
>
> ----- Original Message -----
> From: "René van Wijk" <[email protected]>
> To: "MyFaces Discussion" <[email protected]>
> Sent: Monday, December 22, 2008 9:18 AM
> Subject: RE: Trinidad1.0.10: How to refresh a table after rowSelection
>
>
> > Use an ID on the first and partialTriggers on the second, i.e.
> >
> > <tr:table id="first" ....
> >
> > <tr:table id="second" partialTriggers="first" ....
> >
> > -----Original Message-----
> > From: alex01130 [mailto:[email protected]]
> > Sent: Fri 12/19/2008 19:58 PM
> > To: [email protected]
> > Cc:
> > Subject: Trinidad1.0.10: How to refresh a table after rowSelection
> >
> >
> > Hi, I have a rather simple problem, but I don't how to fix it:
> >
> > I have 2 tables which are related and I need a refresh of the of the
> second one, if a user selects a row of the first :
> >
> > <tr:table value="#{customerBean.all}" var="currentCustomer"
> >
> > rowBandingInterval="1" rowSelection="single"
autoSubmit="true"
> selectionListener="#{customerBean.selectEvent}">
> >
> > <tr:column sortProperty="userid"
> sortable="true" headerText="Id">
> >
> > <h:outputText
> value="#{currentCustomer.userid}"></h:outputText>
> >
> > </tr:column>
> >
> > <tr:column sortProperty="username" sortable="true"
> headerText="Username">
> >
> > <h:outputText
> value="#currentCustomer.username}"></h:outputText>
> >
> > </tr:column>
> >
> > </tr:table>
> >
> >
> >
> >
> >
> > <tr:table id="gpstab" value="#{customerBean.allGps}"
> var="currentGps"
> >
> > rowBandingInterval="1" rowSelection="single"
autoSubmit="true"
> selectionListener="#{customerBean.selectGpsEvent}">
> >
> > <tr:column sortProperty="gpsid" sortable="true"
> headerText="GpsId">
> >
> > <h:outputText
value="#{currentGps.gpsid}"></h:outputText>
> >
> > </tr:column>
> >
> > <tr:column sortProperty="userid" sortable="true"
> headerText="UserId">
> >
> > <h:outputText
value="#{currentGps.userid}"></h:outputText>
> >
> > </tr:column>
> >
> > <tr:column sortProperty="gpsname" sortable="true"
> headerText="Gpsname">
> >
> > <h:outputText
> value="#{currentGps.gpsname}"></h:outputText>
> >
> > </tr:column>
> >
> > <tr:column sortProperty="gpsphone" sortable="true"
> headerText="GpsPhone">
> >
> > <h:outputText value="#
> {currentGps.gpsphone}"></h:outputText>
> >
> > </tr:column>
> >
> > </tr:table>
> >
> >
> > If a row in the first table is selected, the event procedure is
called,
> customerBean.all and customerBean.allGps are preformed by autosubmit,
but
> the tables are not refreshed.
> >
> > Any ideas, how I can get a table refresh without using an
unnecessary
> submit-button on the page.
> >
> > Thanks in advance,
> >
> > Alex Georg
> >
> >
> >
>
>
>
>
<<winmail.dat>>

