2011-02-08 60 views
4

我有以下代碼,它允許我的表中的列按升序或降序排序。swt table關閉列標題中的排序箭頭

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量)。有什麼辦法可以關掉箭頭的顯示嗎?我寧願不必爲了容納箭頭來調整網格列的大小,以便點不會形成..

有關如何執行此操作的任何想法?

回答

4

簡單!只是不要做

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

當你調用這個方法時,你只是告訴SWT要使用哪個圖像。沒有它,排序仍然有效,但箭頭不顯示。

+0

啊哇..你說的對,很簡單..很感謝! – codegurl 2011-02-09 01:18:27