【问题标题】:How to get currently active column and data from Nebula NatTable如何从 Nebula NatTable 获取当前活动的列和数据
【发布时间】:2018-03-25 13:36:30
【问题描述】:

如果我隐藏某些列并对数据进行排序,如何从 NatTable 中提取这些新信息。 没有像 JFace 表格查看器那样从 NatTable 实例中提取的 API。

像 JFace 一样,我们可以使用以下 API 获取此信息

tableViewer.getTable().getColumns();
tableViewer.getTable().getItems();

【问题讨论】:

    标签: swt jface nattable nebula


    【解决方案1】:

    第一个问题,如何在 JFace TableViewer 中隐藏一列?我不知道这个功能。

    您需要了解 NatTable 是一组数据的查看器。如果您需要有关基础数据的信息,请询问基础数据模型。或者遍历列和行(有 API 来获取列/行计数和按位置的列/行)。但请注意,您只能获得在 NatTable 层上看到的内容。如果您需要真正的底层数据,您需要进入层堆栈。

    所以不,在 NatTable 级别上没有直接的 API 来获取您想要的信息。由于 NatTable 在设计上具有虚拟性质并抽象了显示的信息,因此这是不可用的。 NatTable 以转换的方式显示数据,它不会转换底层数据本身。

    【讨论】:

    • 感谢 Dirk,我通过遍历 bodyLayer.getDataValueByPosition(colIndex, rowIndex) 上的列和行来获取数据
    • 正如您所说的“请注意,您只能获得在 NatTable 层上看到的内容。”在我的例子中,NatTable 在 UI 上显示 100 行。但 bodyLayer.getRowCount() (取消延迟层)仅返回 46 个值。这个我没看懂??如何获取 UI 上显示的所有行??
    • 需要在ViewportLayer下面问一层
    猜你喜欢
    • 2015-07-18
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多