Primefaces 数据表中的静态和动态列

2024-03-09

我正在使用 Primefaces 5.0 创建动态数据表。

我的 DataObject 有一些必填字段和可选“tupel”(键值对)列表。可选列表的大小可能有所不同。因此,我需要一种动态机制来显示 Primefaces.DataTable 中的 DataObject 列表。

我的方法如下:

public class DataObject {
    private String staticval1;
    private String staticval2;

    private List<Tupel> optionalValues;


    // .. getter, setter, hashCode, toString.....
}

public class Tupel{
    private String id;
    private String value;
}

@ManagedBean
@ViewScoped
public class TableOverviewBean {
    private List<DataObject> data;

    @EJB
    private IMyDao myDao;

    @PostConstruct
    public void init() {
        data = myDao.findAll();
    }

    public List<DataObject> getData() {
        return data;
    }

    public void setData(List<DataObject> data) {
        this.data = data;
    }
}
    <h:form>
        <p:dataTable value="#{tableOverviewBean.data}" var="data">
            <p:column headerText="static1">
                <h:outputText value="#{data.staticval1}" />
            </p:column>

            <p:column headerText="static2">
                <h:outputText value="#{data.staticval2}" />
            </p:column>

            <p:columns value="#{data.optionalValues}" var="opt" headerText="#{opt.id}">
                <h:outputText value="#{opt.value}" />
            </p:columns>
        </p:dataTable>
    </h:form>

但这是行不通的。不呈现动态列。 我该如何解决我的问题?

编辑: 预期结果:

staticval1 | staticval2 | dynamic_id1 | dynamic_id2 | ... | dynmic_idn
----------------------------------------------------------------------
static1a   | static2a   | dyna_value1a| dyna_value2a | ... | dyna_valu3a
static1b   | static2b   | dyna_value1b| dyna_value2b | ... | dyna_valu3b
static1c   | static2c   | dyna_value1c| dyna_value2c | ... | dyna_valu3c

无法根据行数据定义列。想象一下,第 1 行有 2 列,第 2 行有 6 列,第 3 行有 1 列,等等,您如何在 HTML 中生成技术上有效的表格?每行必须具有相同数量的列。

您有 2 个选择,具体取决于是否可以更改型号:

  1. 如果无法更改型号,则需要更换<p:columns>由单个<p:column>并循环#{data.optionalValues}使用嵌套循环,例如<ui:repeat>或者甚至是另一个<p:dataTable><p:columns>:

    <p:column>
        <p:dataTable value=""><!-- Empty string as value forces 1 row. -->
            <p:columns value="#{data.optionalValues}" var="opt" headerText="#{opt.id}">
                #{opt.value}
            </p:columns>
        </p:dataTable>
    </p:column>
    
  2. 如果你可以改变模型,那么你需要让<p:columns value>指向 bean 属性而不是行属性,因此每一行都完全相同。如果您替换,这将起作用List<Tupel> optionalValues by Map<String, Tupel> optionalValues关键在哪里Tupel#id并添加一个List<String>包含所有可用的 bean 的属性Tupel#id values.

    <p:columns value="#{tableOverviewBean.availableTupelIds}" var="id" headerText="#{id}">
        #{data.optionalValues[id].value}
    </p:columns>
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Primefaces 数据表中的静态和动态列 的相关文章

  • 如何让JSF渲染符合XHTML 1.0严格?

    我需要开发一个必须符合 斯坦卡法案 Legge Stanca 的网络应用程序 到目前为止 我已经使用了 jsf2 0 Mojarra primefaces 3 2 但在使用时遇到了验证问题 特别是对于空表单页面 生成以下 html 代码
  • JSF 2:如何在同一输入中显示不同的ajax状态?

    当每个字段失去焦点时 我想验证表单中的每个字段 当发生这种情况时 我希望发生以下操作 1 在字段的右侧出现一个图像 一个 gif 表示系统正在检查用户输入 2 完成后 会在右侧出现另一个 gif 取决于输入 例如 success gif 或
  • JSF2.0 中的空白输入字段未设置为 NULL

    我有一个支持 bean 其中 fileld 为 Long Double Integer String 当我没有在输入字段中指定任何内容时 长整型 整数和双精度值将被视为零 而不是空 我正在使用 tomcat 来部署我的应用程序 有什么解决办
  • R:如何在不耗尽内存的情况下重新绑定两个巨大的数据帧

    我有两个数据框df1 and df2每个都有大约 1000 万行和 4 列 我使用 RODBC sqlQuery 将它们读入 R 没有任何问题 但是当我尝试rbind他们 我收到了最可怕的 R 错误消息 cannot allocate me
  • 将数据表中的行写入文本文件

    public void GenerateDetailFile if Directory Exists AppVars IntegrationFilesLocation Directory CreateDirectory AppVars In
  • 在具有重复观察的行之间生成精确加权平均值

    我有一个类似于下面生成的数据框 有些人对某一特定变量有多个观察值 并且每个变量都有一个相关的估计标准误差 SE 我想创建一个新的数据框 其中每个人仅包含一行 对于具有多个观察值的个人 例如 Kim 或 Bob 我需要根据估计值的标准误差以及
  • 使用 JSF2 包含上下文根之外的资源

    我目前正在将应用程序从 JSF 1 2 和 Richfaces 3 3 升级到 JSF 2 和 Richfaces 4 我在使用 JSF2 的新功能让我的应用程序包含样式表时遇到问题h 输出样式表 http download oracle
  • 优化对绑定到 DataGridView 的 DataTable 的更新

    我的应用程序中有一个显示一些数据的表单 当我第一次显示表单时 我将一些数据加载到 DataTable 中 然后将 DataTable 绑定到 DataGridView 我还启动了一个异步方法来执行一些较慢的数据库查询 当这些慢查询完成时 我
  • Primefaces 3.2 客户端 API 文档在哪里?

    我下载了 Primefaces 3 2 但找不到客户端 API 的 javadocs 他们说它有丰富的客户端 API 所以我也可以看一下 Thanks 虽然这听起来太微不足道 但作为一种潜在的解决方法 如果在提供的文档中找不到所需的属性 函
  • 跳过 data.table 中的 NA

    我想用data table但想跳过计算j部分如果by对应于缺失 NA 这是一个示例 data table library data table DT lt data table y 10 g c 1 1 1 2 2 2 2 2 NA NA
  • Pretty Faces:通用 URL 映射

    使用 Pretty Faces 3 我有一些像这样的映射
  • 如何向 JSF 应用程序发送手动 jQuery Ajax 请求?

    我正在做一个POST 使用 jQuery 的请求似乎成功了 但是我如何在服务器端使用它并修改响应 我是否需要另一个 servlet 因为 Faces Servlet 不是为处理这个问题而设计的 ajax type POST data sta
  • 闪亮错误:参数暗示行数不同

    我正在尝试开发一个简单的应用程序 从 Kijiji 网站获取本地分类广告 我用几乎相同的脚本制作了一个类似的应用程序 但我没有收到下面描述的错误 所以我不知道这个脚本出了什么问题 我尝试了我能想到的一切 但无法让它发挥作用 的结构df数据框
  • 删除特定数据表上的所有边框

    我需要使用 PrimeFaces 隐藏一个数据表的所有边框 而不是全部 我尝试了很多事情 但没有人奏效 有谁知道该怎么做 我已将以下样式 单独 应用于ui datatable class border hidden important bo
  • 从支持 bean 更新 PrimeFaces 数据表

    我在 bean 中使用 Schedule Timer 当员工注册从指纹设备获取数据时 它会更新变量 当 bean 中的变量更新时 我需要从支持 bean 更新 jsf 中的组件 我尝试使用 primefaces poll 组件 但它每次都会
  • viewroot 构建后如何应用 JSF2 PhaseListener?

    在我的 JSF2 应用程序中 我有一个阶段侦听器 需要在 RENDER RESPONSE 之前但在 JSF 构建 viewroot 之后执行 首先 我所做的就是在 faces config 中注册我的 PhaseListener 然后监听器
  • 没有为名称定义标签:viewAction

    我刚刚将 JSF 2 2 2 合并到我现有的项目中 我想使用f viewAction但我收到以下错误
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • 如何在 JSF 中不渲染整个块?

    是否有一个 JSF 2 1 组件可以让我有条件地渲染 或不渲染 其所有内容 就像是
  • 部署 JSF 复合组件以供共享使用

    我从事一个 Java EE 项目 该项目计划在未来变得相当大 我想共享尽可能多的代码 这不仅包括 Java 代码 还包括 UI 元素的代码 我考虑开发基于明确定义的主题 如用户管理 税收 产品 的企业组件 这些组件在消息 bean 等的基础

随机推荐

  • 移植到Lua 5.2,LUA_GLOBALSINDEX麻烦

    在代码示例中 http lua users org wiki SimplerCppBinding http lua users org wiki SimplerCppBinding 有代码 lua pushstring L T classN
  • HTTP 错误 403.4 - 禁止

    当我访问机器的本地主机时 我会看到以下屏幕 而当我在服务器中尝试相同的操作时 出现以下错误 HTTP 错误 403 4 禁止 您尝试访问的页面是 通过安全套接字层 SSL 进行保护 我尝试将 http 替换为 https 但我看到目录正在浏
  • 应用程序预启动初始化方法 Run on type WebActivator.ActivationManager 抛出异常

    我正在尝试在 IIS 上运行 ASP MVC 4 应用程序 当我从基本模板发布 MVC 4 应用程序时 除了向导创建的依赖项之外没有任何依赖项 应用程序可以正常工作 但是当我发布其他应用程序 即使用 WebActivator 和许多其他库
  • Kendo UI 网格突出显示所选行

    我有一个 Kendo 2013 2 716 网格 其中包含一个编辑命令 编辑按钮位于第一列 和 40 多个其他列 我没有为网格设置可选集 填充网格后 我可以将鼠标放在 编辑 命令列上 每个 编辑 按钮会依次突出显示 当我单击其中一个时 我的
  • Android:如何从手机导入联系人? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在申请联系方式 我希望将手机和 SIM 卡中存储的所有联系人导入到我的应用程序中 但我不知道如何编写代码 任何帮助和提示或有用答案的链
  • 如何从 PostgreSQL 删除模板数据库?

    postgres DROP DATABASE template postgis ERROR cannot drop a template database http www postgresql org docs 9 1 static ma
  • Spark中如何根据基于另一个RDD的函数过滤一个RDD?

    我是 Apache Spark 的初学者 我想过滤掉 RDD 中权重总和大于常数值的所有组 权重 图也是一个RDD 这是一个小型演示 要过滤的组存储在 groups 中 常量值为12 val groups sc parallelize Li
  • 如何在 Swift 中获取两个日期之间的天数数组? [复制]

    这个问题在这里已经有答案了 考虑我们有一个函数签名 func datesRange from Date to Date gt Date 哪个应该采取from日期和todate 实例并返回一个包含其参数之间的日期 天 的数组 如何实现 你可以
  • Pyinstaller 与 scipy.signal ImportError:DLL 加载失败

    使用 PyInstaller 3 3 Python 3 4 我编译了一个需要使用 scipy signal periodogram 函数的程序 它导致 exe 在启动时崩溃 我一直在 stack Overflow 和其他网站上搜索尝试包含正
  • c# Reflection - 查找集合的通用类型

    我正在反映一个属性 Blah 其类型是 ICollection public ICollection
  • 如何通过Docker连接本地MySQL服务器?

    这是一个关于如何通过 Docker 连接到本地服务的更普遍的问题 Github问题中有类似的问题here https github com docker docker issues 1143这似乎没有任何解决方案 我真正想要的是能够针对我的
  • 当数组不超过 50 个元素时,在 PostgreSql 中使用表而不是数组字段类型更好吗?

    或者更好地说 何时使用数组作为表中的字段数据类型 哪种解决方案可以提供更好的搜索结果 我避免使用数组有两个原因 通过在单元格中存储多个属性值 您违反了第一范式 理论上 每次需要处理数组的各个元素时 您都必须执行一些额外的 非 SQL 相关的
  • Visual Studio XML 摘要不起作用

    当我以前使用 Visual Studio 时 我可以使用 声明我的方法的摘要 它会自动生成所有标签并为任何参数添加一行 但是在安装 Visual Studio 2015 后我似乎不再能够这样做默认情况下 我需要在设置中启用某些功能吗 我正在
  • 为什么我不能使用uniform1f而不是uniform4f来设置vec4制服?

    我通过以下方式逐步学习WebGL这本书 https sites google com site webglbook 我尝试通过使用缓冲区来绘制三个点 gl ARRAY BUFFER 而不是循环 正如我之前在本书的其他示例中所做的那样 var
  • 如何在低于11的Api中设置View alpha? [复制]

    这个问题在这里已经有答案了 我需要为视图设置 alpha 它是 ImageButton 在触摸事件上我想设置 alpha 以便我可以看到它被按下 也许这方面有一些解决办法 它不适合我改变背景颜色 因为我的背景是图像 并且我不想更改该图像的
  • delphi xmlchildnode从父节点获取属性

    我正在尝试用 Delphi 编写 XML 如果我给一个节点一个 xmlns 属性 该节点的子节点也会显示该属性 但随后为空 如何防止子节点显示该属性 我用下面的代码进行了测试 procedure TForm2 Button1Click Se
  • 查找集合中的单个对象,HashMap 与 List 过滤器

    我生成一个列表Customer从我读到的文件中 我将这些客户存储在HashMap其中键是唯一的 id Map
  • 艾美特的新线路

    我是 Emmet 的新手 18 小时 非常棒 我广泛查看 但找不到在未自动添加时添加新行的方法 container gt row gt col sm 3 gt ul gt li abc 5 gives div class container
  • IE9 中的“SCRIPT5039:重新声明 const 属性”

    这已经被问过 但那里的解决方案对我没有帮助 这究竟意味着什么 我的常规 HTML 页面使用 script 标签来加载 main script js 文件 我要做的第一件事是 var internetExplorerSucks 30 该变量被
  • Primefaces 数据表中的静态和动态列

    我正在使用 Primefaces 5 0 创建动态数据表 我的 DataObject 有一些必填字段和可选 tupel 键值对 列表 可选列表的大小可能有所不同 因此 我需要一种动态机制来显示 Primefaces DataTable 中的