我使用的是來自SwingX組件的JXTable
。如果我使用setSortable(boolean flag)
方法,那麼它將啓用或禁用所有列的排序。使用SwingX排序JXTable
由於我的要求,我想禁用排序幾列,並啓用排序其他列。
任何人都可以幫助實現這一功能嗎?
感謝您的回覆。你能幫我用setSorterClass(String sorterClassName)
禁用一列的排序嗎?你能給我任何代碼examplex嗎?這對我非常有幫助。
我使用的是來自SwingX組件的JXTable
。如果我使用setSortable(boolean flag)
方法,那麼它將啓用或禁用所有列的排序。使用SwingX排序JXTable
由於我的要求,我想禁用排序幾列,並啓用排序其他列。
任何人都可以幫助實現這一功能嗎?
感謝您的回覆。你能幫我用setSorterClass(String sorterClassName)
禁用一列的排序嗎?你能給我任何代碼examplex嗎?這對我非常有幫助。
我認爲,至少根據我在網上發現的情況,您可以通過爲該列設置 setSorterClass(null)
來實現。
正如我們可以在the cached web site上看到的那樣,由於swinglabs教程頁面顯示爲關閉,我敢打賭它與最近在java.net服務上的混亂有關。 「 」JXTables默認啓用了列排序,您可以使用setSortingEnabled(boolean allowSort)禁用所有列排序,也可以使用具有空排序器類名稱的setSorterClass(String sorterClassName)禁用單列排序。
就我個人而言,我認爲沒有意義阻止用戶在選定的表格列上進行排序。無論如何,如果用戶想要對他/她應該能夠這樣做的列進行排序,那麼最終我相信最好允許用戶減少更多,當然當他/她能夠做到這樣的細節時控制他/她的觀點。
我想你應該在TableRowSorter API看看,看看JXTable是否支持它想:
TableModel myModel = createMyTableModel();
JTable table = new JTable(myModel);
table.setRowSorter(new TableRowSorter(myModel));
TableRowSorter有一個API方法isSortable():
公共布爾isSortable(INT列)
如果指定的列 可排序則返回true;否則,是錯誤的。
參數:column - 列到 檢查分選,在 底層模型而言
返回:如果 列可排序
感謝您的回覆。你能幫助我知道如何使用setSorterClass(String sorterClassName)來禁用一列的排序。你能給出任何代碼示例。這對我非常有幫助。 – user711466 2011-05-25 15:04:17
-1用於傳播非swingx'ish方法。如果您不知道SwingX/JXTable,則沒有義務回答;-) – kleopatra 2011-06-14 13:02:14
SwingX支持每列排序屬性在TableColumnExt的級別上。它的默認值是true,列創建
table.getColumnExt(myColumnIndex).setSortable(false)
之後,或者在創建時禁用它,使用自定義ColumnFactory,像
ColumnFactory factory = new ColumnFactory() {
@Override
public void configureTableColumn(TableModel model, TableColumnExt column) {
super.configureTableColumn(model, column);
if (... your condition to disable sortable) {
column.setSortable(false);
}
}
}
table.setColumnFactory(factory);
table.setModel(model);
JXTable將採取列屬性同步到分揀機的護理,如果它是SortController類型(這是默認值)
+1很好地解釋並介紹瞭如何執行此操作。感謝您糾正/更新我。 :) – Boro 2011-06-15 08:04:59
同意「沒有意見阻止用戶在所選表列上排序」+1 – mKorbel 2011-05-21 12:56:16
已過時(或更精確:不再存在於1.6; - )api。 – kleopatra 2011-06-14 12:59:49
@kleopatra利益。我不知道這個事實。我無法找到更好的答案,因爲使用網頁是由java.net遷移的結果(更像是對我造成的破壞:))。我想知道,你會有什麼建議? – Boro 2011-06-14 13:46:24