这似乎是一个简单的问题,但我只能获取单元格的实际值,而不是显示文本,因为我使用 tableColumn.setCellFactory 来更改单元格的显示文本(使用一种方法从实际值转换为我想要的文本) ,因此单元格将有 2 个值:显示文本和实际值。我可以重新转换,但这是一个愚蠢的解决方案:(
cell = t.getColumns().get(col).getCellData(row);
最佳答案
您无法直接访问渲染器。原因之一是您必须访问包含显示节点的 VirtualFlow。不过,我对您发布的详细信息进行答复:
In order to make an agnostic export functionality (to CSV, XLS etc.) it would be very convenient to request cell text, rather than data, from a table view. Is that possible?
对于任何类型的导出,请使用转换器。
您永远不知道您的用户有什么目标格式。您的用户在 JavaFX 应用程序中的数字格式设置可能与他们在 Excel 中的不同。使用 Excel,您需要获取 JavaFX 模型数据并设置 Excel 的模型数据。不要使用 View 数据导出并期望在 Excel View 中导入可以工作,否则您会遇到问题。
对于 CSV 来说也是如此。如果你是 e。 G。在德语本地化中,表格中 2 位小数的数字将类似于 123,45,而不是 123.45。因此,当您导出表的 View 数据时,您将破坏 CSV 格式。
您无法通过适当的转换器导出模型数据。
关于tableview - javafx 准确显示表格 View 中单元格的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14030726/