2010-06-19 61 views
0

我正在實現一個tableviewer,它能夠按照列順序對values depngin進行排序。 例如列1-列2-columnX 第一個排序的行上的列1,則第2列,列的值....Jface tableviewer多排序列

因此我想使用一個ColumnViewerSorter,特別是該方法 「INT doCompare(查看器觀看者,對象e1,Object e2);「

這個方法裏面我想根據其他Tableviewer Row/Cells進行排序來比較,難度是JFace tableviewer只在視圖中做排序,所以我必須「問」tableviewer本身的實際值例如「第1行,第20行」

在「docompare」裏面使用函數「viewer.getElementAt(index)」可以,但是在docompare裏面我沒有提及tableviewer中的對象e1和e2的位置。

我怎麼能做到這一點?

感謝你了提前幫我

最好的問候,

馬爾科姆

回答

0

您可以通過在表查看所有項目進行迭代,並看到E1的對象和E2的課程。

但是......我希望我能正確理解你的問題......你爲什麼要實現multisorting?

比方說,你有3列:

Col1  Col2  Col3 
------------------------- 
a2  b1  c4 
a1  b2  c1 
a2  b1  c3 

爲了獲得排序順序Col1中,col2的-COL3,用戶可以點擊COL3,然後在col2的,並在年底Col1中:

Col1  Col2  _Col3_ 
------------------------- 
a1  b2  c1   
a2  b1  c3 
a2  b1  c4 


Col1  _Col2_  Col3 
-------------------------  
a2  b1  c3 
a2  b1  c4 
a1  b2  c1 


_Col1_  Col2  Col3 
-------------------------  
a1  b2  c1  
a2  b1  c3 
a2  b1  c4 

這可能不是最好的例子,但要獲得「多重排序」,用戶只需按相反的順序排序所需的列。

相關問題