2012-02-14 35 views
1

是否可以使用具有多个数据源的相同数据表?如果是,那么如何?有人能给我一个例子吗? 更确切地说,我们可以绑定/解除绑定不同的数据源到数据表编程吗?如何为不同的bean重用相同的数据表?

+1

您可以让您的托管bean从您喜欢的来源获取数据。 – perissf 2012-02-14 08:25:47

回答

1

一些示例代码中给出。 ..

<p:selectOneRadio id="myRadio" value="#{beanProductDetails.selectedtype}"> 
    <f:selectItems value="#{bean.types}"/> 
    <f:ajax event="valueChange" update="panel_CATALOG" listener="#{bean.typeChanged}" /> 
</p:selectOneRadio> 


<h:panelGrid id="panel_CATALOG"> 
    <p:dataTable id="table_Details" value="#{bean.list_Details}"> 
     ........ 
    </p:dataTable> 
</h:panelGrid> 

提供selectOneRadio来决定使用哪个数据源。在这里,在bean的typeChanged方法中,根据所选类型决定应该是list_Details。

+0

感谢您的快速响应。但是,你能告诉我如何在typeChanged列表器中更改数据表的数据源吗? – 2012-02-15 06:23:41

+1

这取决于您如何组织数据。 1.您可以将所有数据源的记录保存为单个列表,并根据所选类型根据列表中的开始和结束索引决定要在数据表中显示的特定子列表。 2.您可以将数据从特定的来源复制到list_Details基于选定的类型等。希望这可以帮助 – rags 2012-02-15 06:32:17

+0

非常感谢! :-) – 2012-02-15 06:41:58

2

是的,这是可能的。通常,您将数据表的value属性设置为List<MyClass>,其中MyClass可以是pojo或实体。该列表是您的支持bean的实例变量,当然,该变量可以在运行时更改。

+0

谢谢:-)你能解释一下吗?其实我想知道我们怎样才能以编程方式做到这一点? – 2012-02-15 06:10:46

相关问题