动态更改JSF中的h:dataTable值
Dynamically change h:dataTable value in JSF
如何动态更改h:dataTable的值?我有以下代码(只是一个片段):
<h:dataTable value="#{DataProvider.mapValues}" var="o" border="1">
<h:column>
<h:outputText value="#{o.key}"></h:outputText>
</h:column>
<h:column>
<h:outputText value="#{o.value}"></h:outputText>
</h:column>
</h:dataTable>
<h:selectOneMenu>
<f:selectItem itemLabel="Choose Language.."></f:selectItem>
<f:selectItem itemLabel="DE"></f:selectItem>
<f:selectItem itemLabel="CZ"></f:selectItem>
<f:selectItem itemLabel="EN"></f:selectItem>
<f:selectItem itemLabel="FR"></f:selectItem>
<f:selectItem itemLabel="ES"></f:selectItem>
<f:selectItem itemLabel="PT"></f:selectItem>
</h:selectOneMenu>
因此,基本上,当我从SelectOneMenu中选择一种语言时,dataTable应该使用不同的值(如"#{DataProvider.mapValues(en)")。需要明确的是:每次我从组合框中选择一个值,dataTable都应该用另一个值重新加载。
我想这对JavaScript来说是可行的,但我不知道具体要怎么做。如有任何帮助,我们将不胜感激。谢谢
EDIT:我必须使用JSF1.2,所以我不能使用任何内置的AJAX功能。
使DataProvider.getMapValues
像这样:
private String selectedLanguage; // + getter and setter
private Map getMapForLanguage(String language)
{ ... }
public Map getMapValues(){
return getMapForLanguage(selectedLanguage);
}
将selectedLanguage
绑定到您选择的h:selectOneMenu
值,并在选择后对h:dataTable
进行ajax更新,如下所示:
<h:dataTable id="myTable" ... >
...
<h:selectOneMenu value="#{DataProvider.selectedLanguage}">
...
<f:ajax render="myTable"/>
</h:selectOneMenu>
相关文章:
- 对DataTable jquery进行排序,排除文本字段中的空白
- 将文本框/单选按钮/和下拉列表中的信息添加到dataTable
- 无法将数据重新加载到具有来自新nurl的附加信息的DataTable中
- 在Rich:dataTable中设置SelectedRow的样式
- C#网格视图从动态创建的DataTable中实现可点击单元格
- 当记录达到10以上时,Bootstrap中的DataTable不执行jQuery
- 获取 jQuery DataTable 中的元素
- jQuery/Datatables:在基本DataTable中包含许多不同的搜索过滤器类型和字段
- ace:dataTable 通过 ICEFACES 中的 shift 键选择多行
- 如何在jQuery DataTable中绘制Excel样式的数据栏
- 未捕获的“类型错误: $(..).dataTable 不是在线服务器中的函数,但不是我的本地服务器中的函数
- 调用 Struts2 操作,每个 jQuery DataTable 行中的参数
- DataTable-列1单元格(使用数组中的值),列2单元格(使用自定义html)
- 为Datatable中的行添加id
- 是否可以使用服务器返回的总记录和用户在Jquery DataTable中选择的记录数来设置页码
- TypeError:c在使用DataTable中的new entry Form保存新条目时未定义
- 如何正确检测DataTable中的页面
- 使用XPages从dataTable中的选定文档创建响应文档
- jQuery DataTable 中的引导日期选择器在 Laravel 应用程序中不起作用
- 将数据管理到datatable中的Array