0
我有一個TableViewer
,表中有15列。我已經實施了我自己的內容和標籤提供商。我需要對所有列進行排序,因此在表查看器中爲所有列調用setComparator()
。每次調用這個setComparator()
時,都會調用內容提供者的getElements()
,從而導致表加載延遲。當調用setComparator()時,Jface TableViewer是否需要時間加載?
我該如何解決這個問題?
我有一個TableViewer
,表中有15列。我已經實施了我自己的內容和標籤提供商。我需要對所有列進行排序,因此在表查看器中爲所有列調用setComparator()
。每次調用這個setComparator()
時,都會調用內容提供者的getElements()
,從而導致表加載延遲。當調用setComparator()時,Jface TableViewer是否需要時間加載?
我該如何解決這個問題?
如果getElements()
實際上會導致延遲,因爲它執行成本高昂的操作(例如從數據庫獲取數據),那麼您可以緩存或緩存獲取的數據,而不是在每次調用時重新獲取它。
如果排序是固定的(即不能由用戶更改),則可以返回getElements()
中的預先排序的元素,而不是調用setComparator()
。