我有以下代码,允许我的表中的列按升序或降序排序。
protected void setSortColumn(GridPanelColumn gridPanelColumn, TableColumn column) {
table.setRedraw(false);
// check if already selected
if (sortGridPanelColumn != null && sortGridPanelColumn == gridPanelColumn) {
// toggle sort order
sortAscending = !sortAscending;
} else {
// set new sort column
sortGridPanelColumn = gridPanelColumn;
sortAscending = false;
table.setSortColumn(column);
}
// set sort direction
table.setSortDirection(sortAscending ? SWT.UP : SWT.DOWN);
// refresh table
tableViewer.refresh();
table.setRedraw(true);
}
唯一的问题是当用户点击列标题进行排序时,箭头会导致列名出点(例如:Ccy .. ^)而不是(CCy1 Amount)。有没有办法关闭箭头的显示?我宁愿不必费心调整我的网格列只是为了适应箭头,以便不会形成点。
关于如何做到这一点的任何想法?
答案 0 :(得分:5)
简单!只是不要做
table.setSortDirection(sortAscending ? SWT.UP : SWT.DOWN);
当您调用此方法时,您只是告诉SWT要使用哪个图像。没有它,排序仍然有效,但箭头不显示。