Tag: tableviewer

如何使用SWT TableViewer中的enter键向下导航

我有一个TableViewer ,当我按下回车键时,希望选择按下一个单元格,就像在MS Excel中一样。 我使用以下findSelectedCell实现了我自己的findSelectedCell 。 public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) { if (event.type == ColumnViewerEditorActivationEvent.KEY_PRESSED) { if (event.keyCode == SWT.CR || event.keyCode == SWT.KEYPAD_CR) { ViewerCell nextCell = currentSelectedCell .getNeighbor(ViewerCell.BELOW, false); return nextCell; } } return null; } 只要我有ViewerCell.LEFT或ViewerCell.RIGHT这种方法就可以正常工作。 当我尝试ViewerCell.ABOVE或ViewerCell.BELOW nextCell实际设置为上方或下方的单元格,但在GUI中,选择保持在currentSelectedCell 。 findSelectedCell的API文档说: 返回: 下一个突出显示的单元格,如果采用默认实现,则为null。 例如,对PAGE_DOWN请求做出反应是不可能的 我不明白那句话是什么意思。 任何人都可以向我说明为什么不能将选择设置为低于或高于某个单元格?

SWT – 表查看器 – 隐藏列并从列中获取值

我正在尝试从表格中的数据创建一个arraylist。 我需要从可见列中获取值,但我还需要从表中不可见的列中获取值。 将SWT与表查看器一起使用,我不知道如何不在表中显示列。 我也不知道如何通过指定列名从表中提取数据。 我一直使用Swing,所以我一直使用Table Model Class。 在swing中,创建列,隐藏它们并从中获取数据非常简单。 这就是我在以前的Swing项目中完成的方法。 在我的表模型类中 : public String getColumnName(int column) { String s = null; switch (column) { case ITEMID_COL: { s = “ItemId”; break; } 那么getValueAt() public Object getValueAt(int row, int column) { Object o = null; try { switch (column) { case ITEMID_COL: { o = rds.get(row).rev.getItem().getStringProperty(“item_id”); break; […]

JFace ColumnWeigthData导致父级增长

我有一个Eclipse RCP应用程序,并希望使用ColumnWeigthData作为ColumnLayoutData在TableViewer使用动态列大小。 问题是,无论何时布局表格,父表单(示例代码中的ScrolledForm )都会增长几个像素。 要重现,您可以运行该示例并打开/关闭该部分几次。 每一个关闭部分都会变宽。 为什么会这样做,如何让它停止? package com.test; import org.eclipse.jface.layout.TableColumnLayout; import org.eclipse.jface.viewers.ColumnWeightData; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.TableViewerColumn; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; import org.eclipse.ui.forms.widgets.Section; public class TestShell extends Shell { private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); private […]

JFace为SWT添加了什么?

以下是有什么区别的: TreeViewer&Tree TableViewer和表 TreeViewerColumn&TreeColumn TableViewerColumn和TableColumn 何时使用查看器和常规小部件? PS:如果你能帮助我找到理解他们的好资源,那将是一个很大的帮助。谢谢!

将删除按钮添加到表中的列

是否可以向表格中的单元格添加“ 删除”按钮? 我有一个包含5列的表,我想添加第6列。 我希望第6列在每行中都有一个删除按钮。 示例行: | 10002 | 部分| 金属| 001 | 是的| 删除 | 这样,用户只需单击按钮即可删除任何不需要的行。 我在表中有一个标记列,它是ComboBox 。 我创建了一个扩展EditingSupport的类。 我是否需要创建另一个类来扩展EditingSupport ,但是创建一个按钮而不是ComboBox ? 编辑 public class AplotDataTableViewer extends TableViewer { public AplotDataTableViewer(Composite parent, int style) { super(parent, style); Table table = getTable(); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); table.setLayoutData(gridData); createColumns(); table.setHeaderVisible(true); table.setLinesVisible(true); setContentProvider(new ArrayContentProvider()); […]