3

我正在使用 nebula 插件在 Eclipse RCP UI 中创建网格查看器。我在其滚动条中遇到问题。当我拖动滚动条并想要放在特定位置时,它只会恢复到我拖动它的最后位置。我搜索了它,但没有找到确切的解决方案。什么是原因和解决方案可能是解决它。

更新:对于特定选项卡,它只是不显示其垂直滚动条,而水平滚动条已失去其右限制,它只是转到最不可见的左侧。

我创建了我的 nabula 网格表查看器,如下所示:

final GridTableViewer myTableViewer = new GridTableViewer(descCompo,
                SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION
                | SWT.FLAT);

更新:这是我的代码。我也在表格中使用列标题,在某些特定选项卡中,它的数量最多为 20 个。我想一直拥有verical bar。这里 descComp 是复合材料。主要问题是水平条没有左限制标记,因此它可以拖动到边界上下文之外。请查看以附加图像。

final GridTableViewer xyzviewer= new GridTableViewer(descCompo,
                SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI |SWT.WRAP | SWT.FULL_SELECTION
                | SWT.FLAT);
        xyzviewer.getGrid().setCellSelectionEnabled(true);
        xyzviewer.getGrid().setRowHeaderVisible(true);
        xyzviewer.getGrid().setDragDetect(true);
        xyzviewer.setAutoPreferredHeight(true);
        GridData dataForResem = new GridData(GridData.FILL_HORIZONTAL);
        dataForResem.heightHint = 300;
...

在此处输入图像描述

4

1 回答 1

0

从屏幕截图看起来更像是星云网格在合成中的布局不正确。

您为网格设置了哪些布局数据?

假设Composite有 a GridLayout,您可以使用以下方法使网格填充并水平和垂直抓取

xyzviewer.getGrid().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

于 2014-01-22T10:46:56.297 回答