如何从星云获取当前活动的列和数据NatTable

问题描述:

如果我隐藏某些列并对数据进行排序,如何从NatTable中提取这些新信息。 没有API可从NatTable实例中提取,如JFace表格查看器。如何从星云获取当前活动的列和数据NatTable

像JFace的,我们可以用follwing API

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

第一个问题得到这个信息,你怎么隐藏的JFace的TableViewer列?我不知道这个功能。

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

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

+0

感谢Dirk,我通过遍历bodyLayer.getDataValueByPosition(colIndex,rowIndex)上的列和行来获取数据 – Shramik

+0

正如你所说“要知道你只能得到你在NatTable层上看到的东西。”在我的例子中,NatTable在UI上显示100行。但bodyLayer.getRowCount()(undelaying图层)只返回46值。我没有得到这个?我如何可以获取显示在UI上的所有行? – Shramik

+0

你需要问一下ViewportLayer下面的图层 –