2013-12-19 21 views
0

我使用Primefaces來實現樹和網格。當我點擊樹時,網格將根據節點而改變。現在樹節點ID可以被java接受,並且所有的數據都可以保存在列表中。但網格數據不能改變。有人有想法嗎?謝謝。當我使用ajax時,無法呈現JSF網格

<p:layoutUnit id="layoutunitleft" position="west" size="360" resizable="true" collapsible="true" header="Options" minSize="260"> 
<p:accordionPanel id="accordingpanel1">       
<p:tab id="accordingpanel1tab" title="Project">        
     <!-- <ui:include src="tree.xhtml" />  --> 

    <!--  <h:form id="form"> --> 
    <p:tree value="#{treeBean.root}" var="node" id="tree" dynamic="true" cache="false" selectionMode="single" selection="#{treeBean.selectedNode}"> 

    <p:ajax event="expand" listener="#{treeBean.onNodeExpand}"/> 
    <p:ajax event="collapse" listener="#{treeBean.onNodeCollapse}" /> 
    <p:ajax event="select" process=":mainForm:scenarioDetailTable" listener="#{tableBean.showScenario}" />   
    <p:ajax event="unselect" listener="#{treeBean.onNodeUnselect}" /> 
    <p:treeNode id="treeNode" expandedIcon="ui-icon-folder-open" collapsedIcon="ui-icon-folder-collapsed"> 
     <h:outputText value="#{node.name}" id="lblNode"/> 
    </p:treeNode> 
</p:tree>  
<!-- </h:form> --> 

</p:tab>       
<p:tab title="Testset">        
    <h:outputText value="Testset" />       
</p:tab>       
<p:tab title="Report">        
    <!-- <h:outputText value="Report" /> --> 
    <p:calendar mode="inline" navigator="none"/>       
</p:tab>      
</p:accordionPanel>     
</p:layoutUnit> 


<!-- grid start --> 
<p:layoutUnit id="layoutunitnorthcenter" position="center" resizable="true" layout="block">    

    <p:dataTable id="scenarioDetailTable" var="scenariob" value="#{tableBean.scenarioDetail}" ajaxRendered="true" >   

     <p:column style="width:20px"> 
      <h:outputText id="dragIcon" 
       styleClass="ui-icon ui-icon-arrow-4" /> 
      <p:draggable for="dragIcon" revert="true" /> 
     </p:column> 

     <p:column headerText="ScenarioName"> 
      <h:outputText value="#{scenariob.name}" /> 
     </p:column> 

     <p:column headerText="Description"> 
      <h:outputText value="#{scenariob.description}" size="20"/> 
     </p:column> 

     <p:column headerText="Status"> 
      <h:outputText value="#{scenariob.scenarioStatusId}" /> 
     </p:column> 

     <p:column headerText="Meta"> 
      <h:outputText value="#{scenariob.meta}" /> 
     </p:column> 

     <p:column headerText="Scenario"> 
     <p:graphicImage id="img1" value="/images/logo/images.png" width="20px" height="20px" style="cursor:pointer" title="Create"/>    
     </p:column> 

     <p:column headerText="Step"> 
     <h:outputText id="stepIcon" 
       styleClass="ui-icon ui-icon-disk" /> 
      <p:draggable for="stepIcon" revert="true" /> 
     </p:column> 
    </p:dataTable>      
</p:layoutUnit> 

</p:layout> 
</p:layoutUnit>   
+0

你的意思號碼:dataTable中不能沒有改變DataGrid的? –

回答

0

請嘗試以下..

<p:ajax event="select" 
     update=":mainForm:scenarioDetailTable" 
     listener="#{tableBean.showScenario}" />