使用哪種方法來隱藏/刪除SWT表中的列(特別是在Eclipse插件中)?如何在SWT表中隱藏/刪除列
- 由於我需要插入和隱藏(或刪除)行和列,因此無法將此功能轉移到行。
- 我試圖用TableColumn.dispose()刪除它們,但根據佈局中的ColumnWeightData沒有刪除,並用新的TableLayout重置整個表格佈局並沒有從佈局中刪除有關列的信息。
- 我試着創建所有需要的列,並用setWidth(0)隱藏那些應該被隱藏/刪除的列。我編寫的示例代碼是here。這種方法並不好: 3.1。它不會縮放。在我的情況下,列的最大數量可能是幾千,而用戶只需要幾個。 3.2。處理大小調整真的是一個地獄。 AFAIU,即使在setResizable(false)列之後,如果父組件調整大小,也可能調整其大小。爲了處理它,我需要爲父組件編寫巨大的偵聽器。我還沒有嘗試。
所以我應該
- 進一步調查處置表列,並使用它?
- 堆棧與setWidth(0)一段時間,因爲我還沒有遇到過縮放問題呢?
- 查看一些第三方表格組件的方向(Nattable ...)? - 如果是,最好是開源的,因爲我的Eclipse插件是開源的。
不確定是否正確評論已回答和已結束的問題。 **但是我應該怎麼處理佈局?**唯一對我有用的東西是TableLayout,其中包含嚴格的ColumnWeightData或ColumnPIxelData數,但是在刪除列之後 - 我無法添加任何內容。 –
我不明白你的問題。你能更好地表達自己嗎? –
對不起,我花了一個晚上谷歌搜索,發現有TableColumnLayout類。它對我來說工作得很好。實際上,我使用的其他技術的搜索功能更容易一些。 –