我有GridTableViewer,在该表中显示的行是many.so,所以我计划减小表的高度。但是我无法减小tableviewer的高度。你能在这方面帮助我吗?

///粘贴示例代码

  @Override
        protected void addComponents(FormToolkit toolkit) {
            myTableViewr=
                    new ExtendedGridTableViewer(client, getPage(), SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
            Grid grid = myTableViewr.getGrid();
            toolkit.adapt(grid, false, false);
            grid.setHeaderVisible(true);
            grid.setCellSelectionEnabled(false);


            GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);

            grid.setLayoutData(gridData);
            List<ColumnType<?>> columns = new ArrayList<ColumnType<?>>();
            columns.add(new nameColumnType());
            columns.add(new valueColumnType());
            myTableViewr.createColumnGrid(toolkit, columns);

            //myModel - my model code
            LogoInsertionContentProvider contentProvide = new LogoInsertionContentProvider(this, myTableViewr, myModel);
            myTableViewr.setContentProvider(contentProvide);
            myTableViewr.setInput(myModel);
}


在这里,只有两列和三行。但我得到超过10行

最佳答案

该表的GridData为:

GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);


要求抢占所有可用空间。如果要为桌子使用固定高度,请使用以下方法:

GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
gridData.heightHint = 500;   // The height you want

10-05 17:42