2012-04-30 11 views
1

私はデータバインディングを使用していて、ZKで編集可能なテーブル(リストボックス)を実装しようとしています。zk:編集可能なリストボックスとデータバインディング

<listbox model="@bind(vm.beanList)" selectedItem="@bind(vm.selectedBean)" 
     mold="paging" pageSize="5"> 
    <listhead> 
     <!-- ... --> 
    </listhead> 

    <template name="model"> 
     <listitem> 
     <listcell> 
      <!-- ... --> 
     </listcell/> 

     <listcell> 
      <combobox width="100%" inplace="true" 
        model="@load(vm.otherBeanList)" 
        value="@load(each.property) @converter(vm.propertyConverter)" 
        itemRenderer="@load(vm.propertyComboItemRenderer)" 
        onSelect="@command('propertySelected')" 
        onFocus="@command('cellEditorSelected', item=self)"/> 
     </listcell> 
     </listitem> 
    </template> 
    </listbox> 

テーブルの列の1つがコンボボックスです。ユーザーはそれをクリックし、選択した値をドロップダウンリストから変更できます。すべてのコンボボックスは1つのモデルを使用しているため、モデル実装は選択可能なインタフェースユーザがすべての行の各コンボボックスで選択した値を直接変更します。 なので、私はそれぞれのコンボボックスに別々のモデルを用意する必要があります。

アドバイスは参考になると思います。

Thanx。

答えて

0

問題は、AbstractListModelではなく、モデルとしてListを使用することで解決されました。 ZKはコレクションをモデルでラップし、暗黙的に各コンボボックスごとに新しいListModelListを作成します。したがって、すべてのコンボボックスは独自のモデルを使用し、独自の選択値を持ちます。

関連する問題