问题标签 [treetableview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
725 浏览

javafx - JavaFX PropertyGrid/编辑器

我正在尝试编写一个通常称为“属性编辑器”或“属性网格”的 JavaFx 组件。属性是名称-值对。

我想属性表是为此而制作的,但我想使用 TreeTableView。主要是因为我有嵌套的属性,最终有几列。

右边的组件正是我试图实现的。 树表视图

我在使用 TreeTableView 时遇到的问题是,必须在 CellFactory 中进行单元格自定义,这会导致项目类型的切换。这种解决方案使事情变得非常不灵活。

例如,如果字符串值必须通过给定属性的 TextField 和另一个属性的 ComboBox 更新,会发生什么情况?

任何建议都非常受欢迎!

相关问题:javafx-8-custom-listview-cells-its-evil


更新1

我试图实施@fabian 的第一个建议。

我有我的豆子:

EditableItem 的默认实现,通过在 TextField 中编辑字符串:

我对 TableView 的实现:

我的问题出在需要返回 ObservableValue 的 cellValueFactory 上。鉴于我希望此列可编辑,我应该怎么做?

我猜 EditableItem 必须扩展属性?但是,我的 DefaultEditableItem 可以扩展 SimpleStringProperty 吗?

0 投票
1 回答
4363 浏览

tree - 树表 OData 绑定,SAPUI5

我正在尝试在我的 FIORI 应用程序中从 EntitySet(比如 E1)创建一个树表。

我有我的控制器和扩展视图,并且数据在两者之间正确绑定。

我指的是树表代码的官方 SAP Demo Explored Kit。

  1. 在那里,他们将 5 个参数作为 JSON 的输入。根节点的样本数据:

    现在,我的 OData EntitySet 中没有“DrillState”字段。这个字段的目的是什么,没有它我的树会正常显示吗?如果需要,我可以对逻辑进行硬编码。

  2. 目前我没有通过“DrillState”。我的输出看起来很奇怪。它只是一个没有树形结构的普通表,并且都处于同一级别(但第一列确实附加了“展开或折叠”按钮,但它没有任何作用)。

以下是我的 XML 代码:

我哪里错了?或者我是否必须以不同的方式映射它,因为我从实体集中获取数据,并且在教程中它们直接作为 JSON 对象传递

0 投票
1 回答
2338 浏览

java - 使用通用对象类型的 TableColumn 的 CellValueFactory?

错误:类型不匹配:无法从 转换SimpleStringPropertyObservableValue<Object>

我正在尝试创建一个包含管理各种数据类型的列的 TreeTableView。这意味着每一行可以使用三种左右的数据类型之一(StringintStringPropertyObjectProperty< LocalDate >.

鉴于我的数据类型是“对象”,那么setCellValueFactory( cellDataFeatures -> { return ...; })需要一个ObservableValue< Object >. 我在尝试从 CellValueFactory 回调的属性中获取所需的 ObservableValue 时不知所措。:(

这篇文章建议使用 aReadOnlyStringWrapper但我想保持可编辑的值(在大多数情况下)。我还找到了对#asObject()StringProperty 中不可用的方法的建议。

注意1:尚未解决setCellFactory(...)

注2:如前所述,我意识到这个例子是不切实际的。作为所需功能的示例,它与我的项目完全分开。

错误:

Java版本:

0 投票
1 回答
2312 浏览

javafx - Javafx:UpdateItem 后 TreeTableView 刷新

我有一个TreeTableView并且我有一个自定义 TreeTableCell ,我在其中重写了该updateItem方法,以便根据某些条件呈现我的单元格(设置为禁用或启用)。问题是,如果我进行一些滚动,表格不会刷新,并且正如您在附加图像中看到的那样,即使某些单元格不满足条件,它们也会被禁用。大量滚动后,所有单元格都被禁用(灰显)。我尝试了两件事来解决问题:添加一些事件侦听器以“手动”刷新表,例如:

渲染问题消失了,但是如果我进行更重的滚动,它会变得如此滞后,就像应用程序以 10-15 fps 运行一样,因为刷新事件触发得太频繁了。我尝试过的另一件事是java.util.Timer在滚动时创建一个 timer() 来触发刷新,例如每 50 毫秒触发一次刷新。然后滞后消失,但渲染单元格有延迟,因此您可以观察单元格颜色从灰色到白色的变化。如果我选择较小的时间间隔,它会变得滞后,并且我无法在滞后和延迟之间找到平衡,而且我还认为我的两个解决方案都只是解决方法,而不是问题的真正解决方案。


你有其他想法来解决这个问题吗?

附图:TableCells

0 投票
1 回答
549 浏览

javafx - JavaFx 动态列值

我有一个TreeTableView<MyCustomRow>并且我想动态添加列。在MyCustomRow我有一个Map<Integer, SimpleBooleanProperty> 与行中的值。我以这种方式添加新列:

然后table.getColumns().add(newColumn())

问题是当我连续检查 aCheckBox时,该行中的所有 CheckBox 都会被选中。这是我的行的代码:

所以我根据 设置单元格的值colNr,我也尝试调试,似乎values地图中的值不同,所以我不知道为什么我只检查一个复选框时会检查所有复选框。

0 投票
1 回答
345 浏览

javafx - JavaFX TreeTableView 更大的显示/隐藏列按钮

有没有办法使TreeTableView中的显示/隐藏列按钮更大?

0 投票
0 回答
239 浏览

javafx - 将两个数据库表值获取到一个 JavaFX TreeTable

我有两个类 Customer 和 Product.i 将此类值存储在数据库中作为两个表,一个用于客户,另一个用于产品。我使用内部连接来检索这些数据。我想在 JavaFX TreeTable 中显示这些数据。有很多教程,但它们只适用于一个类。到目前为止,这是我的代码,但它不起作用。我不是 javaFX pro。

0 投票
1 回答
1108 浏览

java - 具有两列 JavaFX 8 的 TreeView

我需要在 JavaFX 8 中有一个可扩展的可嵌套键值列表。这在功能上类似于 a TreeTableView,但它是垂直定向的,而不是水平定向的。换句话说,行将是标题而不是 XY 倒轴表的列。由于TreeTableView横向的限制,我开始探索TreeView. TreeView效果很好,但只有一列我需要每行中的键值对。我真正需要的是如下所示:

例子

注意fooandbar可以是唯一的。

如何向 a 添加第二列TreeView

0 投票
0 回答
517 浏览

java - 如何在 JavaFX 的 TreeTableView 中设置默认排序规则?

我在 SO 上进行了搜索,但只找到了有关排序的帖子TreeView,例如 JavaFX: TableView: Arrow for a columned by defaultJavafx: Re-sorting a column in a TableView

两者似乎都不适用于我的TreeTableView.

此外,Oracle 关于树表视图的博文(参见示例 15-4:排序模式设置)也没有真正的帮助。

我认为它应该是一些组合

但我无法让它工作。

我想要达到的目标:

  1. 定义列并将它们添加到表中(工作正常)
  2. 设置默认排序(例如,按“ valueColumn”降序对数据进行排序)(如何?)
  3. 设置根(有效,但目前没有排序)
0 投票
1 回答
2491 浏览

java - 更改 JavaFX TreeTableView 的选择颜色

我在 FX、CSS 和 TreeTableView 方面遇到了一些麻烦。我有包含蓝色超链接的单元格。现在,如果选择了单元格,背景将变为蓝色,因此链接实际上是不可见的。我现在想使用样式表更改选定单元格的背景颜色。

对于 TreeView,以下工作正常:

所以类似地我试过:

但这没有任何效果。令人惊讶的是,尽管我能够通过以下方式更改一般背景颜色:

单元格现在都是黄色的,但这似乎覆盖了默认选择模式,因为现在甚至选定的行都有黄色背景。

对我来说,状态选择器似乎不适用于 TreeTableView 单元格,但我不知道如何以另一种方式实现这一目标。

我还使用 JavaFX 文档中的示例 15-2进行了尝试,得到了同样令人不满意的结果。

我无法在网上找到任何解决方案,因为所有问题似乎都与 TreeViews 或 TableViews 相关,而不是组合的 TreeTableView。因此,任何指向正确文档的提示或链接都会非常有帮助!

提前致谢!

PS:我知道可以通过更改超链接的颜色来解决问题,但是必须有一种方法可以更改单元格的颜色,对吗?