[英]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.