Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Primefaces 3.4 dataexporter不导出值p:cellEditor_Java_Jsf_Primefaces - Fatal编程技术网

Java Primefaces 3.4 dataexporter不导出值p:cellEditor

Java Primefaces 3.4 dataexporter不导出值p:cellEditor,java,jsf,primefaces,Java,Jsf,Primefaces,我正在使用Primefaces 3.4,并尝试使用单元格内编辑导出数据表。它似乎不起作用 我已经做了以下工作: 修改了org.primefaces.component.export.Exporter第143行并添加了以下内容: else if(CellEditor的组件实例){//单元格中的句柄可编辑数据表 返回exportValue(context,((CellEditor)组件).getFacet(“输出”); } 这将导致在包含数据的实际单元格的顶部和右侧各增加一行和一列。Excel文件

我正在使用Primefaces 3.4,并尝试使用单元格内编辑导出数据表。它似乎不起作用

我已经做了以下工作:

修改了
org.primefaces.component.export.Exporter
第143行并添加了以下内容:

else if(CellEditor的组件实例){//单元格中的句柄可编辑数据表
返回exportValue(context,((CellEditor)组件).getFacet(“输出”);
}
这将导致在包含数据的实际单元格的顶部和右侧各增加一行和一列。Excel文件是可以的,因为它们不“可见”,但PDF看起来很糟糕

  • 有没有办法让PF 3.4在不改变源代码的情况下支持这一点
  • 如果上面的答案是否定的,我可以在不增加行/列的情况下生成PDF吗
  • 有没有办法让PF 3.4在不改变源代码的情况下支持这一点

    不可以。您必须提供自定义的
    导出器
    实现/覆盖。几个月前我已经报告过了。它不仅提到了
    CellEditor
    ,还提到了
    HtmlGraphicImage
    (我们使用图像来显示布尔状态,其
    alt
    我们希望在PDF/XML/XLS/CSV报告中显示)

    你所能做的就是投它的票,希望它能得到更多的关注,或者通过重新询问它


    如果上面的答案是否定的,我可以在不增加行/列的情况下生成PDF吗

    通过设置
    exportable=“false”
    属性,可以隐藏导出列

    
    
    有没有办法让PF 3.4在不改变源代码的情况下支持这一点

    对。有一个解决办法

    把你的专栏复制两份。 第一个用于用户,第二个用于数据导出器

    通过在第一列中设置
    exportable=“false”
    ,对dataExporter隐藏它

    通过在第二列中设置
    style=“display:none”
    ,对用户隐藏它

    顺便说一句,dataExporter不支持headerText,因此如果需要导出headerText,则必须使用老式的

    
    截止日期
    
    但是这个解决方法是非常难看的,它使数据表的大小增加了两倍,并且很难渲染


    正如BalusC提到的,我们需要通过投票或在他们的论坛上发帖来提高对这个问题的认识。

    答案是。。。使用单元格编辑器创建数据表

    在创建另一个没有单元格编辑器的表之后,将相同的字段放入

    导出器应该引用第二个表,它是!:D


    你好

    到目前为止,我找到的唯一解决方案是创建自己的类来扩展Exporter,并重写方法
    受保护的字符串exportValue(FacesContext上下文,UIComponent)
    。您应该只添加
    else如果(CellEditor的组件实例){
    返回exportValue(context,((CellEditor)组件).getFacet(“输出”);
    
    }

    谢谢你的回答。不幸的是,我不认为这是一个很好的做事方式,因为在我所拥有的每一页中维护两个表的工作量比较大。更不用说你提到的设计视角了。关于你答案的第二部分,这很好,删除了额外的一列,但我不知道为什么我在使用PDF导出表格顶部时有一个空行。Kerem在上面的回答表明headerText不受支持。争吵是由这个引起的吗?