GWT 获取 CellTable 内容以进行打印或导出

2024-01-11

我有一个 GWTCellTable使用某种复杂而乏味的过程来填充。我希望用户能够打印或导出该表中的数据。

我宁愿不重新渲染表内容以进行导出,因为这是一个繁琐的过程。

如何从我的所有页面中获取所有行的内容CellTable这样我就可以整理一份文件进行打印或导出吗?

我可以采用一种获取表格实际 HTML 的方法,或者一种用于迭代并从单元格中获取渲染内容的算法。如果有人有更好的建议,也将不胜感激。


似乎没有可行的方法来获得CellTable为我提供导出数据而无需重新渲染内容。由于这会花费与我自己执行相同的执行时间,因此我自己进行渲染。我使用以下代码来渲染 HTML 并将其显示在新的弹出窗口中以进行打印。这print()方法从我的“打印”按钮调用。

/**
 * Print in a new popup.
 * http://www.coderanch.com/t/564198/GWT/GWT-injecting-HTML-text-browser
 */
public static native void printHTMLString(String htmlString)/*-{
    var win = $wnd.open("_blank", "Print", "");
    win.document.open("text/html", "replace");
    win.document.write("<html><head></head><body>" + htmlString + "</body></html>");
    win.document.close();
    win.focus();
    var headID = win.document.getElementsByTagName("head")[0];
    var fileref = win.document.createElement("link");
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", "tables-min.css");
    headID.appendChild(fileref);
    win.print();
}-*/;

private void print() {
    //get the list from the ColumnSortHandler, so it keeps the sorting on the screen
    if (columnSortHandler.getList() == null || columnSortHandler.getList().isEmpty()) {
        Window.alert("Nothing to print");
        return;
    }

    SafeHtmlBuilder b = new SafeHtmlBuilder();
    b.appendHtmlConstant("<table class=\"pure-table\">"
            + "<thead><tr><th>Timestamp</th><th>Type</th><th>User</th>"
            + "<th>Screen</th><th>Client</th></tr></thead>");
    int count = 1;
    for (Record r : columnSortHandler.getList()) {
        b.appendHtmlConstant("<tr" + (count%2==0 ? ">" : " class='pure-table-odd'>"));

        b.appendHtmlConstant("<td>");
        b.appendEscaped(timestampFormat.format(timeStampColumn.getValue(r)));
        b.appendHtmlConstant("</td>");

        b.appendHtmlConstant("<td>");
        b.appendEscaped(typeColumn.getValue(r));
        b.appendHtmlConstant("</td>");

        b.appendHtmlConstant("<td>");
        b.appendEscaped(userColumn.getValue(r));
        b.appendHtmlConstant("</td>");

        b.appendHtmlConstant("<td>");
        b.appendEscaped(screenColumn.getValue(r));
        b.appendHtmlConstant("</td>");

        b.appendHtmlConstant("<td>");
        b.appendEscaped(clientColumn.getValue(r));
        b.appendHtmlConstant("</td>");


        b.appendHtmlConstant("</tr>");

        count++;
    }
    b.appendHtmlConstant("</table>");
    printHTMLString(b.toSafeHtml().asString());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GWT 获取 CellTable 内容以进行打印或导出 的相关文章

  • GWT 计时器取消不起作用

    我正在尝试编写代码来使用 GET 和 GETQuery 区分单击和双击 我明白了here http jsfiddle net KpCwN 4 所以我将它翻译成 GWT 如下所示 我的应用程序不能有全局变量 所以我用元素属性来完成该部分 im
  • GWT DataGrid 中的延迟加载数据

    是否可以将数据延迟加载到 GWT DataGrid 中 类似于 GWT CellList 延迟加载数据的方式 我有一个 GWT DataGrid 它可能会带回数百行 但一次只显示大约 20 行 发生这种情况时 网格的加载速度相当慢 我想使用
  • GWT序列化问题

    我在返回一个通过 RPC 实现 IsSerialized 的对象的 ArrayList 时遇到了很大的麻烦 IsSerialized pojo 包含一个变量 一个字符串 并具有一个 0 参数构造函数 我已经从我的战争中删除了 gwt rpc
  • GWT CellTable 以编程方式选择 CheckBoxCell

    我有一个带有 CheckBoxCell 列的 cellTable 我想做的是在单元格表之外有一组按钮 让用户自动检查 取消检查一组不同的元素 例如检查所有 取消检查所有 但我想要更复杂的规则 我不明白的是如何访问该元素 我想通过行 列值 并
  • com.google.gwt.user.client.rpc.InknownRemoteServiceException

    我的 GWT 应用程序有问题 我部署在 Jetty 服务器上并运行 但是当我执行服务器调用 GWT 服务器包上的类 时 服务器返回错误消息 消息是 7 0 6 http localhost zbapp zb app A31E1254E17F
  • 如何使用 Eclipse 的 google 插件使用经过精心编译的 HTML 来部署 GWT 应用程序

    我使用 eclipse 的 google 插件来部署我的 GWT 应用程序 到目前为止它运行良好 部署操作首先使用 混淆 输出样式编译我的 GWT 项目 现在我希望它更改为 漂亮 因为我必须调试客户端在运行中 我只是看不到混淆的堆栈 Tha
  • 如何在 GWT 中取消转义字符串

    我使用了 SafeHtmlUtils htmlEscape text 并且我想使用相反的功能 你能告诉我 gwt 中是否有像 unescapeHtml 这样的函数 如果 并且仅当 您可以相信文本不包含恶意内容 您可以使用 import co
  • 运行 GWT 的“MobileWebApp”示例时出现“HTTP 错误:500 无领域”

    我正在尝试运行 GWT 2 4 示例应用程序 MobileWebApp 当我尝试通过 Eclipse 在开发模式下运行应用程序时 出现 500 No Realm 错误 我知道这是一个身份验证问题 我不熟悉 Google App Engine
  • 有没有办法在 Chrome 开发者工具中评估源映射中的变量?

    我正在 Chrome 中使用 SuperDevMode 调试 GWT 应用程序 它让我能够访问 devtools 中的 Java 源映射 我的问题是 当我调试代码时 我想评估一些变量 我的问题是 是否可以从源映射中评估变量 如果没有 是否可
  • 如何清除gwt中的缓存?

    我怎样才能清除缓存gwt 或者有什么方法可以阻止浏览器保留缓存gwt 当您部署 GWT 应用程序时 避免代理和浏览器缓存 GWT 生成的 nocache js 文件非常重要 一种解决方案是实现一个 Servlet 过滤器 添加控制缓存行为的
  • GWT、Maven、Spring - 在 Maven 构建上获取 com.thoughtworks.qdox.parser.ParseException:语法错误

    我正在尝试集成此演示中的代码 http code google com p gwt spring starter app http code google com p gwt spring starter app 进入我的主要 Spring
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • GWT 2.3 开发模式 - 托管模式 JSP 编译似乎不使用 java 1.5 兼容性

    无法编译 JSP 类 生成的 servlet 错误 DefaultMessage 上次更新 0 日期 中 0 时间 HH mm ss z 语法 错误 注释仅在源级别为 1 5 时可用 在尝试以开发模式在 Web 浏览器中打开我的 gwt 模
  • GWT 2 CssResource 如何

    我有一个 GWT 1 7 应用程序 我想将其升级到 GWT 2 Milestone 2 该应用程序使用 2 个大的外部 CSS 文件 在 GWT 1 7 中 我有一个公共文件夹 并将 CSS 文件放入该文件夹中 我的应用程序编译并运行良好
  • GWT 主题/模板 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 GWT 开发一个应用程序 尽管 GWT 是基于 JAVA 的媒介 但外观和感觉只能通过 CS
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • GWT 哪个更好?

    在 GWT 接口中 使用带有 javacode 的普通 MVP 或 UiBinder 哪个更好 从性能 编辑 简单性方面 这是什么谷歌说 http code google com webtoolkit doc latest DevGuide
  • GWT/JAVA 未捕获的异常转义

    我的代码有问题 但似乎无法修复它 我想在提交按钮时将一些客户数据添加到 java GWT 中的数组列表中 我从中添加数据的表单 ok addClickHandler new ClickHandler public void onClick
  • 如何创建开发/调试和生产设置

    我最近无意中部署了我们的游戏typrX的调试版本 打字比赛在www typrx com http www typrx com 尝试一下 很有趣 它很快就被纠正了 但我知道它可能会再次发生 挖完后 在 Google 上 我找到了一些如何创建
  • 如何使用CellTable进行单行扩展?

    我正在尝试使用新的 GWT CellTable 小部件 但我的表格需要支持单行扩展 即行的左侧有一个 zippy 单击它时 该行应该扩展以提供更多详细信息 并且该行应该跨越所有列 是否可以使用 CellTable 来实现此目的 如何动态添加

随机推荐

  • 触发 PHP 处理

    I ask a 类似的问题 https stackoverflow com q 5964407 2246380昨天 但这一切都变得令人困惑 我想我应该重新开始并尝试更好地解释它 我即将设计一个拍卖网站 与 eBay 非常相似 物品从 24
  • 表单验证和表单助手

    我仍然在 Play 2 0 中的表单验证和表单助手方面遇到困难 我有一个与 Twitter Bootstrap 一起使用的登录屏幕 所以我的登录表单如下所示 helper form routes Application authentica
  • 在 GitHub Actions 工作流程中缓存 APT 包

    我对我的 C 项目使用以下 Github Actions 工作流程 工作流程在约 40 秒内完成 但其中一半以上的时间都花在安装valgrind包及其依赖项 我相信缓存可以帮助我加快工作流程 我不介意多等几秒钟 但这似乎是对 GitHub
  • 将重音符号转换为 UTF-8 字符

    我有带有各种变音符号的 Rnw Latex 文档 Kri s hna and St o ne etc 当我编织文档时 它们正确翻译为Kri shna and St one etc R 或任何 R 包中是否有命令可以为我执行此转换 例如 co
  • Rails 5.2 Active Storage 清除/删除附件不会删除 Blob 或附件记录

    我正在使用 Rails 5 2 并尝试使用 Amazon S3 设置 Active Storage 我的应用程序可以完全访问 S3 并且我可以附加avatar图像到user 但当我尝试删除头像时 遇到以下问题 gt user avatar
  • Elixir Exrm 中的参数化节点名称

    我想将 Exrm 与分布在单台机器上的 Erlang 一起使用 我需要创建多个版本 仅节点名称不同 我知道 我可以在中配置节点名称rel vm args 但它将是静态的 我可以以某种方式生成具有不同节点名称的多个版本吗 我正在研究同样的问题
  • 谷歌地图填充页面保留在标题下方

    我试图使标题 div 出现在 Google 地图上方 但让地图填充页面内容的所有其余部分 我遇到的问题是页面不断滚动 但我不希望它滚动 它滚动的量与标题高度相同 我尝试将溢出 隐藏 但这不起作用 因为虽然它不再滚动 但它也没有显示谷歌徽标和
  • 具有混合条件的 LINQ to SQL 复杂联接

    我有一个 SQL 语句 正在尝试将其转换为 LINQ to SQL 并且我已成功将其大部分转换 但遇到了一个我无法在 LINQ 中理解的语句 SQL 查询中令人头疼的部分是 SELECT FROM step INNER JOIN actio
  • 如何使用 Liquid 模板语言在布局中渲染模板?

    我正在尝试在液体布局中渲染液体模板 液体模板语言 而不是 CSS 液体布局内容 我似乎无法渲染布局部分 目前使用 assigns page name gt test layout Liquid Template parse File new
  • R Shiny Tabsets 同时处理

    我有一个RShiny应用程序 它计算不同选项卡中的多个统计数据 由于计算相当密集 我使用submitButton以防止发生反应 我的问题是现在每个计算 全部在不同的选项卡集中 都将输出写入文件夹 我想要Shiny初始化时为所有选项卡集写入输
  • 计算文件中特定字符串的出现次数

    这是我已经处理过的代码 while lineContents tempFileReader readLine null String lineByLine lineContents replaceAll System getProperty
  • 有效的成员指针可以与 NULL 指针具有相同的值吗?

    根据ABI http refspecs linux foundation org cxxabi 1 83 html member pointers 指向数据成员的指针是相对于基地址的偏移量 包含它的类对象 NULL 指针表示为 1 但是 根
  • Eclipse 有缩进指南吗?

    最近 我使用 Eclipse 来编辑我的 python 代码 但缺少缩进指南 我感觉不太好 那么如何为 Eclipse 添加自动缩进指南呢 有特定的插件吗 更重要的是 我已经尝试过EditBox 但是 你知道 在某些主题下这不是很自然 有一
  • 添加两个文本框中的值并在第三个文本框中显示总和

    我尝试将此代码从 textbox1 text 和 textbox2 text 添加到 textbox3 text private void textBox1 TextChanged object sender EventArgs e if
  • 3D 数组声明时出现错误

    可能是我第一次使用 3D 数组 我只是尝试遵循 1D 和 2D 语法来声明 3D 但编译器说类型不匹配 谁能告诉我这背后的原因吗 Integer 1D new Integer 2 4 6 5 6 Integer 2D new Integer
  • 维护跨多个表的实体的审核日志

    我们有一个实体分为 5 个不同的表 其中 3 个表中的记录是强制性的 其他两个表中的记录是可选的 基于实体的子类型 其中一张表被指定为实体主表 其他四个表中的记录由 master 中的唯一 id 作为键控 在每个表上都存在更新 删除触发器之
  • 获取不属于另一个表中某个类别的供应商

    我正在寻找一个查询 需要显示供应商表中没有类别 1 Products CategoryID 1 的产品的所有供应商 每当我运行它时 它总是会出错 Select SupplierID From Suppliers su where Suppl
  • 即使 paranoid 设置为 true,Sequelize.js 仍然会删除表行

    我无法让 Sequelize js 软删除表中的行 我使用 Sequelize cli 来完成所有迁移 并且没有使用同步功能在启动时重新同步数据库 我的迁移和模型中有时间戳字段 甚至有deletedAt字段 模型也有偏执 true 无论如何
  • 如何解决 Visual Studio 2008 中的 JQuery 智能感知问题?

    我怎样才能解决这个问题 更新JScript IntelliSense时出错 D myProject js jquery 1 3 2 js 对象不支持此属性或方法 2139 1 我做了所有这一切jQuery 1 2 6 的 Visual St
  • GWT 获取 CellTable 内容以进行打印或导出

    我有一个 GWTCellTable使用某种复杂而乏味的过程来填充 我希望用户能够打印或导出该表中的数据 我宁愿不重新渲染表内容以进行导出 因为这是一个繁琐的过程 如何从我的所有页面中获取所有行的内容CellTable这样我就可以整理一份文件