Jsf 2 如何根据选择菜单更改数据表的列?
我使用的是JSF 2和PrimeFaces 5,我有一个数据表,其单元格需要根据下拉菜单中的选择进行更新。具体来说,我想根据我的选择更改列表(dataTable值)(基本上这意味着对于每个选项dataTable将显示不同的记录)Jsf 2 如何根据选择菜单更改数据表的列?,jsf-2,primefaces,Jsf 2,Primefaces,我使用的是JSF 2和PrimeFaces 5,我有一个数据表,其单元格需要根据下拉菜单中的选择进行更新。具体来说,我想根据我的选择更改列表(dataTable值)(基本上这意味着对于每个选项dataTable将显示不同的记录) 可以这样做吗?是的,只需相应地更改型号即可 例如,这: <p:selectOneMenu value="#{bean.selectedItem}"> <f:selectItems value="#{bean.availableItems}" /
可以这样做吗?是的,只需相应地更改型号即可 例如,这:
<p:selectOneMenu value="#{bean.selectedItem}">
<f:selectItems value="#{bean.availableItems}" />
<p:ajax listener="#{bean.changeDataModel}" update="table" />
</p:selectOneMenu>
<p:dataTable id="table" value="#{bean.dataModel}">
...
</p:dataTable>
非常感谢@BalusC我已经完成了这项工作。。。但我仍然有一个问题:当我从列表中选择一个值时,我有一个表from items,它的大小正好是每个类别中的项目数,但是这个表是免费的。。我没有价值。。我不知道为什么O.oAs回答说,bean必须是
@viewscope
,而不是@requestscope
。如果仍有问题,只需按右上角的[提问]
按钮即可。这个问题与被问的问题无关。既然你是新来的,请不要忘记在最有助于解决和理解具体问题的答案上标注“接受”。另请参见我将其设置为@SessionScoped..我更改了它,但我有以下错误:\deploy is failing=部署期间发生错误:加载应用程序时异常:CDI定义失败:WELD-000075普通作用域托管bean实现类有一个公共字段:[EnhancedAndNotatedFieldImpl]public bean.catBean.listCatégorie。有关更多详细信息,请参阅server.log。我可以解决我的问题。这项工作现在做得很好。。谢谢:)不客气。详细信息就在server.log
中,与异常所示完全相同。
public void changeDataModel() {
dataModel = someService.load(selectedItem);
}