Как заставить сортировку в SWT Table w / Table Viewer - PullRequest
0 голосов
/ 26 декабря 2011

Я хочу отсортировать только в первый раз столбец таблицы SWT. У меня есть таблица с их TableViewer, и я хочу программно сортировать после или до метода setInput.

Столбцы генерируются динамически, а последние - это средний столбец. Есть ли способ сортировки по программе?

Я использую только эту строку кода:

        columnPromEcr = new TableColumn(table, SWT.RIGHT);      
        columnPromEcr.setText("Prom. ECR");
        columnPromEcr.pack();
        columnPromEcr.setResizable(true);
        this.table.setSortColumn(columnPromEcr);

После метода setInput я вызываю:

// refresh table
tableViewer.refresh();
table.setRedraw(true);

Нужен ли класс ViewerSorter?

Мне не нужно вмешательство пользователя, мои данные были неупорядоченными, и после создания динамического столбца я хочу, чтобы программа упорядочила таблицу с этой информацией, числовыми данными.

Ответы [ 3 ]

1 голос
/ 27 декабря 2011

Вам не нужно ViewerSorter, если вы хотите отсортировать элементы только перед их отображением.Используйте Comparator и Collections.sort().

0 голосов
/ 05 ноября 2012

Если вы хотите поведение по умолчанию для сортировки (целочисленное, простое сравнение строк), вы можете просто установить сортировщик:

viewer.setSorter(new ViewerSorter());

, и средство просмотра будет сортироваться все время (например, после удаления, добавленияданные)

0 голосов
/ 26 декабря 2011

Да, используйте ViewerSorter, он будет постоянно поддерживать TableViewer в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...