TableView中的可编辑多行单元格

暗尘

对此已经存在一个问题,但没有答案,评论也无济于事。)

我有一个TableView,我想有一列可以编辑的多行标签。理想情况下,行为类似于a,TextFieldTableCell但具有多行支持:

  • 它像标签一样显示文本。
  • 单击后,它将转换为TextField(或在这种情况下为TextArea),以便可以编辑文本。

我还没有找到解决方案。我现在唯一的解决方法是将aTextArea作为单元格的“图形”:

    descriptionTableColumn.setCellFactory(param -> new TableCell<Attachment, String>() {
        @Override
        protected void updateItem(String item, boolean empty) {
            if (empty) {
                setGraphic(null);
            } else {
                TextArea area = new TextArea(item);
                area.setMinHeight(USE_COMPUTED_SIZE);
                area.setPrefHeight(USE_COMPUTED_SIZE);
                area.setMaxHeight(USE_COMPUTED_SIZE);
                setGraphic(area);
            }
        }
    });

(这里缺少用于侦听文本更改的代码;它不会触发OnEditCommit事件。)

但是,TextArea总是将其渲染为TextArea具有边框和白色背景的法线我可以忍受这一点。但是即使我设置了该区域,即使它为空,该区域也始终以一定的高度(约180像素)进行渲染USE_COMPUTED_SIZE

所以问题是:

  • 有没有办法获得理想的行为,类似于TextFieldTableCell
  • 如果没有,是否有一种方法可以使TextArea唯一的高度根据需要使用?
角度的

好的,基本思路是复制TextFieldTableColumn并调整其行为以创建TextAreaTableColumn我一起破解了一个小的工作示例实现:https : //gist.github.com/eckig/30abf0d7d51b7756c2e7

用法:

TableColumn<?, ?> column = new TableColumn<>();
column.setCellValueFactory(...);
column.setCellFactory(TextAreaTableCell.forTableColumn()); // add StringConverter if neccessary
tableView.getColumns().add(column);

但是,仍有一些事情需要实现/需要一些调整:

  1. 调整prefRowCount以仅显示必要的行数。
  2. 也许调整prefColumnCount
  3. 因为“ Enter”键被换行占用,所以我必须添加一个“保存”按钮来提交编辑。这有点丑陋,但是目前我还没有一个更好的主意。

但希望你能明白;-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使JavaFX TableView单元格可编辑?

来自分类Dev

在TableView中编辑数字单元格

来自分类Dev

Javafx可编辑表格单元格

来自分类Dev

如何在不首先按Enter的情况下使JavaFX TableView单元格可编辑?

来自分类Dev

通过可编辑单元格的JavaFX选项卡

来自分类Dev

如何基于gxt中可编辑网格中的另一个单元格值使单元格不可编辑

来自分类Dev

TableView,设置可编辑单元格

来自分类Dev

AngularJS中的可编辑表格单元格

来自分类Dev

TableView-编辑焦点单元格

来自分类Dev

使用JButton使单元格可编辑

来自分类Dev

可编辑单元格不会与引导表中的相邻单元格重叠

来自分类Dev

在QtableView中的不可编辑单元格上进行制表

来自分类Dev

如何在Ant Design中为分组列添加“可编辑单元格”?

来自分类Dev

具有arrayformula的列中的可编辑单元格

来自分类Dev

使用Apps脚本返回到某些单元格并使其在Google表格中可编辑

来自分类Dev

NSTableView可编辑标题,并双击表格单元格

来自分类Dev

如何使单元格可编辑

来自分类Dev

QTableView:如何在程序中编辑不可编辑的单元格?

来自分类Dev

如何使JavaFX TableView单元格可编辑?

来自分类Dev

在TableView中编辑数字单元格

来自分类Dev

分组的UITablleview不可编辑单元格缩进

来自分类Dev

Java-如何使JTable中的单元格可编辑?

来自分类Dev

使用可编辑的下拉单元格在ui-grid中显示可读数据

来自分类Dev

无法从JTable可编辑单元格读取数据

来自分类Dev

动态表格中的可编辑单元格

来自分类Dev

qtableview 中不可编辑的单元格

来自分类Dev

快速编辑 TableView 单元格中的 TextView

来自分类Dev

如何使 Janus GridEx 中的特定单元格不可编辑

来自分类Dev

在 TableView 中编辑单元格后更新 ObservableList

Related 相关文章

  1. 1

    如何使JavaFX TableView单元格可编辑?

  2. 2

    在TableView中编辑数字单元格

  3. 3

    Javafx可编辑表格单元格

  4. 4

    如何在不首先按Enter的情况下使JavaFX TableView单元格可编辑?

  5. 5

    通过可编辑单元格的JavaFX选项卡

  6. 6

    如何基于gxt中可编辑网格中的另一个单元格值使单元格不可编辑

  7. 7

    TableView,设置可编辑单元格

  8. 8

    AngularJS中的可编辑表格单元格

  9. 9

    TableView-编辑焦点单元格

  10. 10

    使用JButton使单元格可编辑

  11. 11

    可编辑单元格不会与引导表中的相邻单元格重叠

  12. 12

    在QtableView中的不可编辑单元格上进行制表

  13. 13

    如何在Ant Design中为分组列添加“可编辑单元格”?

  14. 14

    具有arrayformula的列中的可编辑单元格

  15. 15

    使用Apps脚本返回到某些单元格并使其在Google表格中可编辑

  16. 16

    NSTableView可编辑标题,并双击表格单元格

  17. 17

    如何使单元格可编辑

  18. 18

    QTableView:如何在程序中编辑不可编辑的单元格?

  19. 19

    如何使JavaFX TableView单元格可编辑?

  20. 20

    在TableView中编辑数字单元格

  21. 21

    分组的UITablleview不可编辑单元格缩进

  22. 22

    Java-如何使JTable中的单元格可编辑?

  23. 23

    使用可编辑的下拉单元格在ui-grid中显示可读数据

  24. 24

    无法从JTable可编辑单元格读取数据

  25. 25

    动态表格中的可编辑单元格

  26. 26

    qtableview 中不可编辑的单元格

  27. 27

    快速编辑 TableView 单元格中的 TextView

  28. 28

    如何使 Janus GridEx 中的特定单元格不可编辑

  29. 29

    在 TableView 中编辑单元格后更新 ObservableList

热门标签

归档