2012-07-15 2 views
0

따라서 현재 노드의 AttType 필드에 따라 특정 구성 요소 (Checkbox 또는 Textbox)를 추가하고 싶습니다. 내 zul 파일은 다음과 같습니다.ZK - 모델 내용에 따라 Treeitem에 구성 요소 추가

<tree id="permissionTree" width="100%" 
     model="@bind(vm.treeModel)" style="text-align:left;"> 
     <treecols> 
      <treecol label="Item" width="400px" /> 
      <treecol label="Wert" /> 
     </treecols> 
     <template name="model" var="node"> 
      <treeitem> 
       <treerow> 
        <treecell label="@load(node.data.name)" /> 

        <treecell> HERE COMPONENT DEPENDING ON node.data.AttType </treecell> 
       </treerow> 
      </treeitem> 
     </template> 
    </tree> 

어떻게하면됩니까? 아, Textbox/Checkbox 값을 내 모델에 String으로 바인딩하고 싶습니다. 꽤 좋습니다.

의견을 보내 주셔서 감사합니다.

편집 : 나 자신을위한 약간의 "해결 방법"을 만들었습니다.

<tree id="permissionTree" width="100%" 
     model="@bind(vm.treeModel)" style="text-align:left;"> 
     <treecols> 
      <treecol label="Item" /> 
      <treecol label="Wert" /> 
     </treecols> 
     <template name="model" var="node"> 
      <treeitem open="@bind(node.open)" onClick="@command('expandNode', item=node)"> 
       <treerow> 
        <treecell label="@load(node.data.name)" /> 
        <treecell> 
         <textbox visible="@load(node.data.isTextbox)" value="@bind(node.data.value)" /> 
         <textbox visible="@load(node.data.isTextarea)" rows="6" width="300px" value="@bind(node.data.value)" /> 
         <checkbox visible="@load(node.data.isCheckbox)" checked="@bind(node.data.checkboxValue)" /> 
        </treecell> 
       </treerow> 
      </treeitem> 
     </template> 
    </tree> 

를 그리고의 TreeNode의 생성자 I는 종류에 따라 isTextbox/isTextarea/isCheckbox 값을 설정 I 3에만 가능한 입력 형식을 가지고 있기 때문에, I는 이들을 하드 코딩 정의. 이렇게하면 모델 바인딩이 여전히 작동합니다.

답변

0

이전 질문에서 물어 본 것처럼 : treeitem 렌더러를 사용하여 거기에 필요한 항목을 추가하십시오. 새로운 구성 요소에 바인딩이 작동한다고 생각하지 않습니다.