-
FEATURED COMPONENTS
First time here? Check out the FAQ!
Hello,
How would like retrieve a specific cell value from grid in the composer?
<grid model="@{datas.DATAS}" > <rows> <row self="@{each='DATAS'}"> <label value="@{DATAS.getWa_seq_id}" /> <label value="@{DATAS.getWorkAgreementID}"/> <label value="@{DATAS.getDistrictName}" /> <label value="@{DATAS.getpLast}" /> <label value="@{DATAS.getpFirst}" /> <label value="@{DATAS.getpType}" /> <label value="@{DATAS.getTermDate}" /> <label value="@{DATAS.getTotalPCost}" /> <!-- Quick test first. --> <div> <button id="editButton" label="Edit" > <attribute name="onClick"> <![CDATA[ // how would I get the value from this cell (@{DATAS.getWa_seq_id}) when clicking on this button. ]]></attribute> </button> </div> </row> <rows> </grid>
bztom33,
I'm a fan of using custom attributes. Here is an example that uses the concept:
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?> <zk> <zscript> import org.zkoss.zk.ui.util.GenericForwardComposer; public class Car { private String makeModel; public Car(String m) { setMakeModel(m); } public String getMakeModel() { return makeModel; } public void setMakeModel(String m) { makeModel = m; } } List Cars = new ArrayList(); Cars.add(new Car("Bugatti Veyron")); Cars.add(new Car("SSC Ultimate Aero")); Cars.add(new Car("Saleen S7 Twin-Turbo")); Cars.add(new Car("Koenigsegg CCX")); Cars.add(new Car("McLaren F1")); public class myController extends GenericForwardComposer { public Grid myGrid; public void onClickButton(Event event) { Object clickedCar = event.getOrigin().getTarget().getAttribute("theMakeModel"); alert("You clicked on the " + clickedCar); } } </zscript> <window id="main" apply="myController" style="padding: 25px;"> <grid id="myGrid" fixedLayout="true" model="@{Cars}" hflex="min"> <columns> <column label="Make & Model" width="150px" style="font-weight: bold;"/> <column width="100px" align="center"/> </columns> <rows> <row self="@{each=Car}"> <cell><label value="@{Car.makeModel}" /></cell> <cell> <button label="Tell Me" forward="onClick=onClickButton()"> <custom-attributes theMakeModel="@{Car.makeModel}"/> </button> </cell> </row> </rows> </grid> </window> </zk>
Hope that helps,
Todd
Asked: 2011-04-05 17:04:30 +0800
Seen: 563 times
Last updated: Apr 06 '11