使用JavaScript更改dataTable中列的标题
Change header of columns in a dataTable with JavaScript
我有一个dataTable的XHTML代码。
<p:dataTable id="processes" var="process" value="#{homeBean.processesList}" filteredValue="#{homeBean.filteredProcesses}"
rowKey="#{process.pid}" selection="#{homeBean.selectedProcesses}"
paginator="true" rows="8" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="5,10,15" >
<f:facet name="header">
<h:outputText value="Processes" />
</f:facet>
<p:column name="owner" filterBy="owner" filterMatchMode="contains" sortBy="owner" headerText="Owner">
<h:outputText value="#{process.owner}" />
</p:column>
<p:column name="pid" filterBy="pid" filterMatchMode="exact" sortBy="pid" headerText="PID">
<h:outputText value="#{process.pid}" />
</p:column>
<p:column name="ppid" filterBy="ppid" filterMatchMode="exact" sortBy="ppid" headerText="PPID">
<h:outputText value="#{process.ppid}" />
</p:column>
<p:column name="c" filterBy="c" filterMatchMode="exact" sortBy="c" headerText="C">
<h:outputText value="#{process.c}" />
</p:column>
<p:column name="stime" filterBy="stime" filterMatchMode="contains" sortBy="stime" headerText="STIME">
<h:outputText value="#{process.stime}" />
</p:column>
<p:column name="tty" filterBy="tty" filterMatchMode="contains" sortBy="tty" headerText="TTY">
<h:outputText value="#{process.tty}" />
</p:column>
<p:column name="time" filterBy="time" filterMatchMode="contains" sortBy="time" headerText="TIME">
<h:outputText value="#{process.time}" />
</p:column>
<p:column name="cmd" filterBy="cmd" filterMatchMode="contains" sortBy="cmd" headerText="CMD">
<h:outputText value="#{process.cmd}" />
</p:column>
</p:dataTable>
这段代码在一个表中显示了所选服务器中每个进程的所有者、pid、ppid、c、stime、time、tty和cmd信息。我想改变headerText当我得到一个windows服务器,所以我写了这个javascript代码,我要通过正确的方式??
<script type="text/javascript">
var server_os = "#{homeBean.selectedLogicalServer.os}";
if (server_os.search("Windows") != -1 ) {
document.getElementById("owner").headerText="User Name";
document.getElementById("ppid").headerText="Sesion Number";
document.getElementById("c").headerText="Sesion Number";
document.getElementById("stime").headerText="User Name";
document.getElementById("tty").headerText="Sesion Name";
document.getElementById("cmd").headerText="Image Name";
}
</script>
可以在服务器端这样做,而不是在JavaScript中,像这样:
<p:column name="tty"
headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? 'Session Name' : 'TTY'}">
<h:outputText value="#{process.tty}" />
</p:column>
我不确定语法,但应该有这样的效果。
相关文章:
- CSS-如何定位内容数据标题
- 在PHP中使用javascript更改页面标题'if'
- Brightcove获取/显示HTML中的当前视频标题和描述
- React组件-设置页面标题
- 用我的json数据填充JQuery DataTable
- jQuery动态更改标题
- HighCharts长标题文本在某些元素上重叠
- 将行添加到具有固定标题的HTML表中
- CKEditor v4:自制插件中对话框的动态标题
- DataTable按下键选择扩展/导航
- 如何在自动完成时设置属性标题
- 单元格的工具提示或标题不显示超过2000个字符
- 未捕获的类型错误:$(..).dataTable不是函数
- 如何从相应的控制器动态更新标题和描述
- timeago.js with datatable and PHP
- 将超链接添加到“;标题“;标记文本
- 使用KnockoutJS绑定的YUI DataTable
- 删除DataTable(1.10.8)后,删除的行将再次添加
- 按两个标题行对Datatable进行排序
- 使用JavaScript更改dataTable中列的标题