swt table关闭列标题中的排序箭头

时间:2011-02-08 10:11:14

标签: sorting swt tablesorter tableviewer

我有以下代码,允许我的表中的列按升序或降序排序。

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)。有没有办法关闭箭头的显示?我宁愿不必费心调整我的网格列只是为了适应箭头,以便不会形成点。

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:5)

简单!只是不要做

 table.setSortDirection(sortAscending ? SWT.UP : SWT.DOWN);

当您调用此方法时,您只是告诉SWT要使用哪个图像。没有它,排序仍然有效,但箭头不显示。