Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-892

ChildrenBinding in Listbox pollute the collection model

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: 6.0.0
    • Fix Version/s: 6.0.1
    • Component/s: Databind 2
    • Labels:
      None

      Description

      We use $MODLE$[index] to evaluate each item. And we always use $MODEL$ to store the model collection instance. The model name is thus polluted and item under the childBinding will always evaluate to the model collection specified in childBinding.

      test case
      ---------------

      <window apply="org.zkoss.bind.BindComposer" viewModel="@id('vm')
      @init('org.zkoss.zktest.bind.issue.ChildBindingUnderListbox')">
      <listbox id="outerbox" width="700px" model="@bind(vm.items)" rows="5">
      <listhead>
      <listheader label="index"/>
      <listheader label="name"/>
      </listhead>
      <template name="model" var="item" status="s">
      <listitem children="@bind(vm.dummyList(1)) @template('read')">
      <template name="read">
      <listcell label="@bind(s.index)"/>
      <listcell label="@bind(item.name)"/>
      </template>
      </listitem>
      </template>
      </listbox>
      </window>

      --------

      public class ChildBindingUnderListbox {
      private List<Item> items;

      public ChildBindingUnderListbox()

      { items = new ArrayList<Item>(); items.add(new Item("A")); items.add(new Item("B")); items.add(new Item("C")); items.add(new Item("D")); }

      public List<?> dummyList(int size)

      { return Arrays.asList(new Object[size]); }

      public List<Item> getItems()

      { return items; }

      static public class Item {
      String name;

      public Item(String name)

      { this.name = name; }

      public String getName() { return name; }

      public void setName(String name) { this.name = name; }

      }
      }

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              henrichen henrichen
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: