Primefaces选择列表目标值以填充单独的数据表

时间:2011-01-03 19:43:15

标签: primefaces

请原谅我在此发布而不是在primeFaces论坛上发帖,但我似乎无法在他们的论坛上注册(我从未收到确认邮件编辑:注意自己:总是检查spambox)。我正在使用primefaces 2.2RC。我有一个嵌入在选项卡式窗口组件中的向导组件。工作流向导要求用户从中选择材料。我希望该选项列表(picklist.target)的结果填充一个。我看到picklist上现在有一个onTransfer属性,但是没有关于如何使用它的文档 代码工作并填充选项列表,我可以选择字符串并前进到下一个选项卡。我只是无法获得更新的(?)materials.target列表。 任何人都可以提供线索吗?

我的代码如下:

<p:tab id="Step3" title="Pick materials">
  <p:panel header="Step 3" >
   <p:pickList value="#{materialPickListBean.materials}" var="mat"
    itemLabel="#{mat}" itemValue="#{mat}" converter="matConverter" onTransfer="">
    <f:facet name="sourceCaption">Available</f:facet>
    <f:facet name="targetCaption">Picked</f:facet>
   </p:pickList>

  </p:panel>
 </p:tab>
 <p:tab id="Step4" title="Adjust material quantites">
  <p:panel header="Step 4">
   <p:dataTable value="#{materialBean.materialList}" var="matList"
    dynamic="true" id="pickedMaterials">
    <f:facet name="header">Select material quantities</f:facet>
    <p:column>
     <f:facet name="header">
      <h:outputText value="Material description" />
     </f:facet>
     <h:outputText value="#{matList.name}" />
    </p:column>
    <p:column>
     <f:facet name="header">
      <h:outputText value="unit type" />
     </f:facet>
     <h:outputText value="#{matList.unitOfMeasurement}" />
    </p:column>
    <p:column>
     <f:facet name="header">
      <h:outputText value="units" />
     </f:facet>
     <h:inputText value="#{matList.quantity}" />
    </p:column>
   </p:dataTable>
   <p:commandButton value="Submit" actionListener="#{jobCardWizard.save}"/>
  </p:panel>
 </p:tab>

豆:

public void init() {
loginEJB.setupMockMaterial();
source = new ArrayList<String>();
target = new ArrayList<String>();
populateSource();
materials = new DualListModel<String>(source, target);
}

private void populateSource() {
List<Material> materialList = materialEJB.findMaterials();
for (Material m : materialList) {
source.add(m.getName());
}
}

2 个答案:

答案 0 :(得分:0)

public DualListModel getContactsList(){         return contactsList;     }

public void setContactsList(DualListModel<String> contactsList) {
    this.contactsList = contactsList;
}

public List targetContacts(){

    this.selectedContacts = contactsList.getTarget();
}

答案 1 :(得分:0)

我最终选择了Richlists的选项列表实现。我在项目中有丰富的和主要的表面。