当前位置: 首页 > 面试题库 >

如何在Primefaces数据表中表示嵌套数据?

冯星剑
2023-03-14
问题内容

这是我的模型:

User.java

public class User {
   //...

   public List<User> getFriends() {
      // ...
   }
}

我想建立一个这样的用户朋友表:

users.jsf

+ ---------- + ------------ +
| USER | 朋友|
+ ---------- + ------------ +
| | 爱丽丝
| + ------------ +        
| ADAM | BOB |
| + ------------ +
| | PITT |
+ ---------- + ------------ +
| | |
....

由于用户很多,因此无法一次性转储用户表。

在这种情况下,数据表组件是理想的,因为它具有内置的分页支持。也是理想的,因为可以对列进行排序…

不幸的是,我无法通过Primefaces示例找到改变用户列行距的方法。

如何建立该数据表?


问题答案:

基于@Kerem的答案,这是我想出的解决方案:

为了使嵌套的datable像主数据表的自己的行一样,我重写了CSS类.ui-dt-c。检查h:headstyle详细信息的标签。

<?xml version="1.0" encoding="UTF-8"?>
<html
    xmlns="http://www.w3c.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
    <title>USERS and their friends</title>
    <style>
       .ui-dt-c {
          padding: 0px !important;
       }
    </style>
</h:head>
<h:body>
<h:form id="form">
<p:dataTable
    value="#{users.list}"
    var="u">

    <p:columnGroup type="header">
        <p:row>
            <p:column headerText="USER" />
            <p:column headerText="FRIENDS" />
        </p:row>
    </p:columnGroup>

    <p:column>#{u.name}</p:column>
    <p:column>
        <p:dataTable
            value="#{u.friends}"
            var="f">
            <p:column>#{f.name}</p:column>
        </p:dataTable>
    </p:column>
</p:dataTable>
</h:form>


 类似资料:
  • 问题内容: 使用AJAX发出POST请求后,我得到以下JSON响应: 我正在使用数据表来显示数据..但是使用此嵌套的JSON,我无法直接获取数据。我正在使用此https://datatables.net/examples/server_side/post.html https://datatables.net/reference/option/ajax.dataSrc作为参考。 问题答案: 您必须

  • 问题内容: 我正在尝试在数据表中显示Hashmap,这是我要尝试的操作:我将具有一些产品的选择菜单,以及数量的输入文本,还有一个“ ajaxified”添加按钮,用于添加产品和它的数量到地图上,以及一个提交按钮,显示一个摘要对话框,其中包含一个包含两列的数据表:产品名称和数量。我的哈希图是 对于Ajaxified按钮和所有这些第一步,它们正在为我工​​作,我已设置了所有内容,并且正确填充了地图,剩

  • 上次我不得不处理这样的数据时,我使用了类似于散列数组的东西,其中每个散列都可以有散列值等。在循环遍历不同的索引/键时,很难不丢失,所以我想应该有更好的解决方案。由于我没有OOP经验,我不知道如何开始... 假设在我们的城市里,有一个图书馆(其内容已被数字化为txt文件),有几个房间:

  • 我有两个类:停车场和汽车。公园有一个ID和一个汽车列表。我想在数据表中显示带有标签的停车场和汽车列表。问题是我无法在数据表中找到汽车的车牌号。当我尝试在Netbean中自动完成时,它会显示可能的公园字段(公园ID和汽车列表)。为什么?有什么想法如何修复它吗?

  • 我有下一个代码: 我还有一些按钮,可以从表中删除元素并对其进行更新。但是我如何更新这个表呢?哪些参数应该在更新中?我尝试了更新=“:tableForm”和更新=“:tableTabView:tableForm”和更新=“:tableTabView”,但没有得到结果。我哪里错了?

  • 我对使用PrimeFaces 3.4.1和JSF 2.1.6的dataTable有以下问题。第一次加载页面时,数据表中充满了数据库中的数据,但每当在页面上执行操作(编辑链接、数据表排序或过滤)时,数据表就会丢失其数据。DataTable包含来自此类的元素: 在dataTable上执行操作后进行调试时,我们只在envioDatasujeto字段上保留数据,元素上的其他所有数据都会丢失。 这是xhtm