gpt4 book ai didi

java - GXT 3 使用 ListStore 显示集合的每个值一行

转载 作者:行者123 更新时间:2023-12-01 12:14:27 25 4
gpt4 key购买 nike

我正在使用 Liststore 将 DTO 对象中的数据显示到网格中。大多数对象属性都是字符串,可以很容易地显示。但其中一个参数是一组字符串总而言之,我的对象如下所示:

public class MyObject{ 
private String param1; // "val1"
private String param2; // "val2"
private Set<String> param3; // param3 contains "value3-1", "value3-2" and "value3-3"
...
}

我想在网格中为 param3 中的每个元素显示一行。类似这样的事情:

参数1 |参数2 |参数3
值1 |值2 |值3-1
值1 |值2 |值3-2
值1 |值2 |值3-3

您知道通过操作 ListStore 来实现此目的的简单方法吗?

谢谢

最佳答案

ListStore 中的每个项目对应于网格中的一行 - 因此,您需要将数据放入网格中。您应该能够轻松地迭代 MyObject 实例列表并将它们转换为 MyObjectRow 实例 - 它甚至可以包含对“真实”MyObject 实例的引用,以便于编辑/更新。

但是,由于它是一个集合,因此您需要小心 - 集合没有顺序!这意味着您可能无法获得 value3-1、value3-2、value3-3,但它们可以按任意顺序到达。强烈考虑使用 List 而不是顺序对您来说很重要。

使用List,您可以让 MyObjectRow 看起来像这样:

public class MyObjectRow {
private MyObject wrapped;
private int index;

//...
public String getParam1() {
return wrapped.getParam1();
}
public String getParam2() {
return wrapped.getParam2();
}
public String getParam3() {
return wrapped.getParam3().get(index);
}
}

然后,对于每个 MyObject,创建 N 个 MyObjectRow,其中 N 是 param3 中的项目数。

关于java - GXT 3 使用 ListStore 显示集合的每个值一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27097856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com