[Laszlo-user] [Laszlo-dev] How to retrieve list elements
André Bargull
a.bargull at intensis.de
Fri Apr 11 14:14:44 PDT 2008
Hi Chen,
this should work for you.
Changes:
- using "toggleselected" on the list
- using a handler to listen for "onselected" events from the list to
disable/enable delete btn
- using "getNumItems" and "getItemAt" to retrieve the list items
---
<canvas height="550" debug="true">
<simplelayout spacing="10"/>
<dataset name="dsMyWishList">
<wishes>
<wish>Constraints are wonderful but I wish they work</wish>
<wish>I can retrieve list elements</wish>
</wishes>
</dataset>
<list id="mylist" width="200" height="82" toggleselected="true" >
<textlistitem datapath="dsMyWishList:/wishes/wish/text()" />
</list>
<button text="Delete" enabled="false" >
<handler name="onselect" reference="mylist" >
this.setAttribute("enabled", mylist.getSelection() != null);
</handler>
</button>
<button text="Test">
<handler name="onclick"><![CDATA[
Debug.write("Number of subviews: ", mylist.getNumItems());
for (var i = 0; i < mylist.getNumItems(); ++i) {
Debug.write("The element: ", mylist.getItemAt(i));
}
]]></handler>
</button>
</canvas>
---
> Hi There,
>
> I am trying to use the list component in my GUI. After a day of struggling, I guess I have to seek help from the professionals.
>
> First of all, I need to retrieve all the elements from the list, but found no way to get them (unless I program it myself). Tried to use the 'subviews' array but it does not seem giving me what I wanted. I am wondering whether there is an easy way to get the elements of a list.
>
> Second, I am trying to use the constraint between a "Delete" button and the selectionmanager so that the delete button will be enabled if and only if there is one selection on the list. But, it does not seem working.
>
>
> Below is the simplified code.
>
> Your help is greatly appreciated!
>
> Chen Ding
>
> ================ Example ==============================
>
> 1 <canvas height="550" debug="true">
> 2 <simplelayout spacing="10"/>
> 3 <dataset name="dsMyWishList">
> 4 <wishes>
> 5 <wish>Constraints are wonderful but I wish they work</wish>
> 6 <wish>I can retrieve list elements</wish>
> 7 </wishes>
> 8 </dataset>
> 9
> 10 <list id="mylist" width="200" height="82">
> 11 <selectionmanager name="selector" toggle="true"/>
> 12 <textlistitem datapath="dsMyWishList:/wishes/wish/text()" onclick="mylist.selector.select(this)"/>
> 13 </list>
> 14
> 15 <simplelayout axis="y"/>
> 16
> 17 <!-- Wish 1: use the constraint to enable/disable the delete button. The button indeed -->
> 18 <!-- was disabled initially, but is never enabled even when I selected an -->
> 19 <!-- in the list. -->
> 20 <button text="Delete" enabled="${mylist.selector.selected == 1}"/>
> 21
> 22 <!-- Wish 2: can retrieve list elements. The only way I can find is through 'subviews' -->
> 23 <!-- but it does not seem working -->
> 24 <button text="Test">
> 25 <handler name="onclick">
> 26 <![CDATA[
> 27 Debug.write("Number of subviews: ", mylist.subviews.length);
> 28 for (var i=0; i<mylist.subviews.length; i++)
> 29 {
> 30 Debug.write("The element: ", mylist.subviews[i]);
> 31 }
> 32 ]]>
> 33 </handler>
> 34 </button>
> 35 </canvas>
>
>
>
> This message is confidential to Prodea Systems, Inc unless otherwise indicated
> or apparent from its nature. This message is directed to the intended recipient
> only, who may be readily determined by the sender of this message and its
> contents. If the reader of this message is not the intended recipient, or an
> employee or agent responsible for delivering this message to the intended
> recipient:(a)any dissemination or copying of this message is strictly
> prohibited; and(b)immediately notify the sender by return message and destroy
> any copies of this message in any form(electronic, paper or otherwise) that you
> have.The delivery of this message and its information is neither intended to be
> nor constitutes a disclosure or waiver of any trade secrets, intellectual
> property, attorney work product, or attorney-client communications. The
> authority of the individual sending this message to legally bind Prodea Systems
> is neither apparent nor implied,and must be independently verified.
More information about the Laszlo-user
mailing list