簡體   English   中英

禁用ScrolledComposite內部的CheckboxTableViewer時如何啟用滾動?

[英]How to enable scroll when CheckboxTableViewer inside a ScrolledComposite is disabled?

我在ScrolledComposite內部有一個CheckboxTableViewer。 我必須基於另一個復選框按鈕啟用或禁用所有tableItems。 為此,我正在使用

CheckboxTableViewer.getTable().setEnabled(false). 

在上述情況下,ScrolledComposite也與表一起禁用。 但是我希望即使禁用CheckboxTableViewer(禁用了able中的所有項目),滾動行為也可以照常工作。

禁用時,無法使表格控件顯示滾動條。 這只是本機控件的工作方式,即OS呈現控件的方式。

但是,您可以將Table控件包裝在ScrolledComposite中。 這樣,ScrolledComposite將滾動而不是Table。

這是我所做的代碼:

table.setEnabled(false); 
Composite composite = table.getParent(); 
if ((null != composite) && (composite instanceof ScrolledComposite)) {
      ScrolledComposite scrolledComposite = (ScrolledComposite)composite;
      scrolledComposite.setMinSize(table.computeSize(SWT.DEFAULT, SWT.DEFAULT));  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM