gwt单元格表动态列-排序

2023-12-02

您可以将您的“行”表示为List<String>例如,您必须在网格、列和数据提供程序中将参数化从字符串更改为列表;当然,你必须使用 updateRowData 来调用List<List<String>>, not a List<String>.

每列还需要一个 Column 实例,按索引从 List 中取出值:

   class IndexedColumn extends Column<List<String>, String> {

       private final int index;

       public IndexedColumn(int index) {
           super(new EditTextCell());
           this.index = index;
       }

       @Override
       public String getValue(List<String> object) {
           return object.get(this.index);
       }

   }

我如何在此示例中添加排序。我尝试了一个ListHandler但不知道如何比较List<String>。任何帮助表示赞赏。


您需要添加一个ListHandler到您想要单独排序的每一列。有点像这样:

你必须添加一个 getter 方法IndexedColumn为了index:

class IndexedColumn extends Column<List<String>, String> {

    private final int index;

    public IndexedColumn(int index) {
        super(new EditTextCell());
        this.index = index;
    }

    @Override
    public String getValue(List<String> object) {
        return object.get(this.index);
    }

    public int getIndex(){
        return index;
    }

}

然后你需要添加一个ListHandler to the CellTable:

ListHandler<List<String>> columnSortHandler = new ListHandler<List<String>>(list);
    columnSortHandler.setComparator(columnName, new Comparator<List<String>>() {

        public int compare(List<String> o1, List<String> o2) {
          if (o1 == o2) {
            return 0;
          }

          // Compare the column.
          if (o1 != null) {
            int index = columnName.getIndex();
            return (o2 != null) ? o1.get(index).compareTo(o2.get(index)) : 1;
          }
          return -1;
        }
    });
table.addColumnSortHandler(columnSortHandler);

在上面的例子中list is the List<List<String>>目的。这columnName is the Column目的。您必须对要排序的每一列执行此操作。

别忘了也打电话.setSortable(true)在您要排序的每一列上。

可以找到一个很好的列排序基本示例here。上面的代码基于此示例,但我使用了您的index in IndexedColumn为了得到正确的String以便列进行比较。

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

gwt单元格表动态列-排序 的相关文章

  • UserControl 中的 Web 控件为空?

    我构建了一个小型用户控件 它本质上是一个 DropDownList 其中包含一些基于目标属性设置的预设值 这是代码 public partial class Selector System Web UI UserControl public
  • 将数组复制到动态分配的内存

    我的代码可以正常工作 但我觉得好像有一种更快的方法可以做到这一点 特别是在我的函数副本中 这是我的代码 这能再快一点吗 顺便说一句 这是 C 语言 另外 当我从函数返回 cpy 时 它是否会删除动态内存 因为它超出了范围 我不想发生内存泄漏
  • 设置动态创建的 iframe 的基本标签

    我正在尝试动态创建 iframe 并在创建之前设置它的基本标记 ifrm document createElement IFRAME ifrm setAttribute src test html ifrm style width 400
  • 我可以在 GWT 中使用第三方 Javascript 库吗

    例如穆工具 用 js 编码对我来说很舒服 但显然不适合所有人 你当然可以 最好的事情就是给自己写一些好看的JavaScript 覆盖类型 http code google com webtoolkit doc latest DevGuide
  • 了解 Document.createElement()

    我在用着GWT及其底层DOM能力 我基本上想要实现的是 Have a div包含一些文本的元素 其中一些文本将被包围span元素 span 元素可相互拖动并提供上下文菜单 New span元素可以由最终用户动态创建 它可能是这样的 在应用程
  • zk 与 gwt zk 请求太多

    您好 我正在尝试比较 zk 和 gwt 的性能 在我的比较中 如果框架本身将一些代码转换为js 那么我自己无法编写任何javascript 如get 但我无法自己编写js 在以上述方式编写代码时 几乎所有在浏览器上完成的操作都会将请求发送到
  • 从 JSNI 调用 Java 方法

    我想调用Java方法test 来自 JSNI 变量successHandler 但是 我收到错误 ERROR Line 110 Missing qualifier on instance method com gw myProject cl
  • 实体框架中的多态性

    具体类 BankAccount and CreditCard 在控制器上不可见 我被这个问题困扰了 我正在使用该网站的示例 http weblogs asp net manavi archive 2010 12 28 inheritance
  • 如何动态编译和加载外部java类? [复制]

    这个问题在这里已经有答案了 这个问题与我见过的许多问题类似 但大多数问题对于我正在做的事情来说不够具体 背景 我的程序的目的是让使用我的程序的人可以轻松地制作自定义 插件 然后编译并将它们加载到程序中以供使用 而不是在我的程序中实现不完整
  • 更改src iframe具有跨域功能

    我正在尝试使用 GWT 制作一款将在一个 iframe 内运行的应用程序 直到这里一切正常 问题是我的实际网络中有一种表单可以将请求发送到 iframe 使用java脚本 当我按下 发送表单 按钮时 我更改了iframe的src并稍后刷新它
  • GWT 与 Apache Wicket

    GWT 和 Wicket 都是有状态的 基于 Java 对象的 GWT 完全基于客户端 具有 javascript 优化 CSS 优化等功能 而且我对 Apache Wicket 还很陌生 我对 Wicket 的了解越多 就越感觉它与 GW
  • RestKit:带有数组的动态嵌套属性

    我正在努力寻找一种将一些 JSON 映射到 RestKit 的方法 这是我正在查看的示例 results Test1 id 1 name Test 1 here language English type Test1 Test2 id 3
  • gwt - 在 RPC 调用中使用 List

    我有一个 RPC 服务 方法如下 public List
  • 使用 MVP 模式

    我有一个用 MVC 模式制作的 Web 应用程序 但是我正在尝试适应 MVP 模式 我正在使用 GWTPlatform 库 我已经将其中的一些代码迁移到了Presenter和View 然而 我还没有看到任何全面的材料来解释如何实际处理Mod
  • 将参数传递给 GWT bootstrap .nocache.js 脚本

    有没有办法将参数传递给 GWT 生成的 nocache js 脚本文件并在 onModuleLoad 函数中对其进行评估 就像这样 主机页 URL 应与内部工作的 GWT 内容完全分离 因此将 appId 参数作为主机页的查询参数传递并使用
  • HTMLPanel 中的 JavaScript

    我想在 HTMLPanel 元素中包含 Javascript 代码 但它不起作用 请你帮助我好吗 提前致谢 脚本 pro js alert hello 使用 HTMLPANEL 不起作用 不显示警报 我认为应该是相反的 HTMLPanel
  • 访问具有动态名称的变量的值

    我发现了几个主题 其中讨论了在循环中动态创建单个变量是不好的做法 最好使用字典 就我而言 我不需要动态创建它们 我想要access他们在循环中 我不想用字典对于他们来说 因为这些变量在代码中的很多地方使用 并且只有一个地方我需要这种动态访问
  • C# 4.0 动态对象和 WinAPI 接口,如 IShellItem(无需在 C# 源代码中定义它们)

    是否可以 使用 C 4 0 中的新动态关键字 使用接口 如 IShellItem 或其他 WinAPI 接口 而无需在 C 源代码中定义它们 或者至少不定义接口成员 我正在尝试类似的事情 const string IShellItemGui
  • CellTables 和 css (GWT)

    有人可以帮我设置 CellTable 行的背景吗 拜托 我整晚都在努力做这件事 但一直失败 这是 让我发疯 我尝试过调用setRowStyles 但是那个 似乎不起作用 我读到你无法更改 设置样式后 CellTable 的样式 作为默认样式
  • 当页面上已有tinymce实例时,动态添加tinymce编辑器

    这是我已经问过的这个问题的后续 动态添加tinymce编辑器 https stackoverflow com questions 19157574 add a tinymce editor dynamically 我有一个包含编辑器的页面

随机推荐

  • 查找具有 n 个元素的表的最佳列和行大小以及其比例的给定范围

    我正在寻找一种从 n 个元素创建表格的最佳方法 以便理想情况下没有空单元格 但同时表格尺寸列 行的比例变得尽可能接近 1 当然 如果 n 是平方数 那么就很容易 cols rows sqrt n 如果 n 是素数 那么很明显会有空单元格 所
  • 在 Github 操作中获取修改后的文件

    我的存储库中有 2 个 Github Actions 工作流程 其中一个步骤需要获取 PR 中已修改的所有文件 删除的文件除外 我在第一个中使用这个 on pull request branches main jobs get files
  • Java 方法有排序约定吗? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我有一个大型类 大约 40 个方法 它是我将作为课程作业提交的包的一部分 目前 这些方法在公用 私有等方面相当混乱 我想以合理的方式对它们进行排序 有这样做的标准方法吗 例如 通
  • 带有动态类名的 PHP 命名空间

    想知道其他人在使用 PHP 5 3 命名空间类的新功能时是否遇到过这个问题 我正在生成一个动态类调用 利用一个单独的类来定义应用程序中的用户类型 基本上 类定义器采用类型的整数表示形式并解释它们 返回一个包含类名的字符串 该类名将被称为该用
  • 将 git 子模块中的更改推送到主模块,但不推送到子模块

    我有一个 git 项目 A 它使用来自 Github 的子模块 B 我无法推送到 Github 项目 B 因为它不是我的 我想在B中做一个小的改变 不推送到远程B 因为我无法推送 但应该推送到A 所以当有人使用A时 他应该能够看到我的更改
  • Python递归函数错误:“超出最大递归深度”[重复]

    这个问题在这里已经有答案了 我使用以下代码解决了 Project Euler 的问题 10 该代码通过暴力破解 def isPrime n for x in range 2 int n 0 5 1 if n x 0 return False
  • “缩进中制表符和空格的使用不一致”[重复]

    这个问题在这里已经有答案了 我正在尝试在 Python 3 2 中创建一个应用程序 并且一直使用制表符进行缩进 但即使是编辑器也会将其中一些更改为空格 然后当我尝试运行时打印出 缩进中制表符和空格的使用不一致 该程序 如何将空格改为制表符
  • 如何在spring data @Query中使用属性

    我无法设法将 application yml 中的属性注入到 spring data Query 中 以下结果会导致 EL1008E 错误 public interface MyRepository extends JpaRepositor
  • 如何通过PHP和Linux使用pdo连接mssql?

    我正在尝试使用以下代码建立新的 PDO 连接 new PDO mssql driver Server serverName Database databaseName username password array PDO ATTR PER
  • 组合框问题:无法绑定到新值成员

    我创建了一个作为用户控件的组合框 它实际上由标签 组合框和文本框组成 我正在尝试将数据集绑定到组合框数据源 但我不断收到有关 ValueMember Display 成员的错误消息 Cannot bind to the new displa
  • 如何在屏幕底部添加工具栏?

    我是新来的 我需要你的帮助 因为我不知道一些事情 例如 我为我的应用程序放置了一个工具栏 而不是在屏幕顶部放置操作栏 现在我想在底部放置一个工具栏 那么我该怎么做呢 工具栏是正确的方式 并且它兼容android 4 0 谢谢您的回答 编辑
  • 表示任何双精度值所需的最大字符长度是多少?

    当我将无符号 8 位 int 转换为字符串时 我知道结果始终最多为 3 个字符 对于 255 而对于有符号 8 位 int 我们需要 4 个字符 例如 128 现在我真正想知道的是浮点值也是一样的 将任何 双精度 或 浮点 值表示为字符串所
  • openssl ssl 加密

    我想讨论一下openssl的写入和读取方法 假设我有一个如下所示的数据结构 my header PAYLOAD not encrypted encrypted I think the proper al
  • itextsharp:如何找到矩形的填充颜色

    我按照 ItextSharp 示例获取图形结构 使用代码获取矩形坐标 class VectorGraphicsListener IExtRenderListener public void ModifyPath PathConstructi
  • 使用“Codable”设置属性值无法通过继承起作用

    我无法设置b子类中的属性 它是继承自的父类Codable 这似乎运作良好 我觉得我错过了一些非常明显的东西 但我很难只见树木 下面是我的问题的游乐场示例 b尽管设置为 但仍为 010 传入的是子类 但可以设置父类属性 非常奇怪 class
  • 暂停命令行 python 程序的最简单方法?

    假设我有一个 python 程序 它会输出文本行 例如 while 1 print This is a line 允许用户按下键盘上的某个键来暂停循环 然后在再次按下时恢复 最简单的方法是什么 但如果没有按下任何按钮 它应该自动继续 我希望
  • 无法在 VSCode 中运行 Jupyter Notebook - Vanilla Python、Windows 10

    我的 Windows 10 计算机上安装了现有的普通 Python 但我不想重新安装 Anaconda 当尝试在 vscode 中运行 ipynb 文件中的代码时 出现以下错误 Error Jupyter cannot be started
  • 在 bash 程序中获取“[:=:预期一元运算符”[重复]

    这个问题在这里已经有答案了 我一直在开发一个示例 bash 程序来练习 bash 脚本编写 但每当我尝试使用正确的变量运行它时 它都会输出 预期的一元运算符 并退出 bin bash clear i P PASSWORD echo Plea
  • 索引频繁更新的FieldCache

    Hi我的 lucene 索引经常使用新记录进行更新 我的索引中有 5 000 000 条记录 并且我正在使用 FieldCache 缓存我的数字字段之一 但是更新索引后 需要时间再次重新加载 FieldCache 我重新加载缓存 因为文档说
  • gwt单元格表动态列-排序

    您可以将您的 行 表示为List