1

我是 SWT 新手,有一个项目要求我更改下拉列表中元素的顺序,该列表包含数据库中按顺序字母排序的数据存储,而我想更改顺序下拉列表中的元素,有人可以告诉我下拉列表如何从数据库中获取数据列表以及如何更改顺序?非常感谢。

下面是创建对象的代码,我想知道如何改变列表的顺序。谢谢你。

public final Object[] getElements(final Object inputElement) {
    if (inputElement != null) {
        if (inputElement instanceof Test) {
            return getTest((EngdynoRequest) engDynoRequest).toArray();
        }
    }
    return null;
}
4

4 回答 4

0

ComboViewer您可能想查看几种方法

StructuredViewer.java

public void setComparer(IElementComparer comparer) 

public void setComparator(ViewerComparator comparator)

public void setSorter(ViewerSorter sorter)
于 2013-02-04T04:16:25.907 回答
0

制作您自己的对象列表,然后您可以按照您需要的任何方式对其进行排序,之后您可以使用有序元素制作下拉列表。

于 2013-01-31T11:12:57.323 回答
0

如果您正确定位了用于填充组合框的方法,则可以在此处对对象列表进行排序。

return getTest((EngdynoRequest) engDynoRequest).toArray();

可以替换为

Object[] unsorted = getTest((EngdynoRequest) engDynoRequest).toArray();
return Arrays.sort(unsorted);

如果您想要自定义排序顺序,您可以通过 Arrays.sort传递您自己的比较器

于 2013-01-31T18:33:38.910 回答
0

这可能更容易理解:

      // Re-sort
      String[] items = combo.getItems();
      Arrays.sort(items);
      combo.setItems(items);
于 2019-02-28T08:17:54.633 回答