当前位置: 首页 > 知识库问答 >
问题:

javafx如何使表格单元格动态可编辑?

武功
2023-03-14

我有一个表视图,其中很少有列是可编辑的,也很少有不可编辑的。当我在第一列中输入一些值并按tab键时,将调用一个服务,返回的对象将映射到表行。我的要求是根据返回对象中的标志将不可编辑列设置为可编辑(仅在我编辑过的行中)。下面是调用服务并将返回的对象设置为行的代码

colCtrNo.setOnEditCommit(new EventHandler<CellEditEvent<CtrRcptDlvryDTO, String>>() {
        @Override
        public void handle(CellEditEvent<CtrRcptDlvryDTO, String> t) {
            CtrRcptDlvryDTO c = t.getTableView().getSelectionModel().getSelectedItem();
            if(c.getCtrNo() != null && !"".equals(c.getCtrNo())){

            c = GateIn.gatePassServiceRef.gateIn_validateRcptCtrFx(c, 1, 5090,null);  
            tblReceiptContent.set(t.getTablePosition().getRow(), c);
            }
        }
    }); 

请建议如何在运行时根据标志将不可编辑的列转换为可编辑的列。

共有1个答案

洪河
2023-03-14

试试这个。。。

 Col.setCellValueFactory(
        new PropertyValueFactory<User, String>("Name"));
    Col.setCellFactory(TextFieldTableCell.forTableColumn());
    Col.setOnEditCommit(
        new EventHandler<CellEditEvent<User, String>>() {
            @Override
            public void handle(CellEditEvent<User, String> t) {
                ((User) t.getTableView().getItems().get(
                        t.getTablePosition().getRow())
                        ).setName(t.getNewValue());
            }
        }
    );
 类似资料:
  • 问题内容: 有什么办法可以在jtable中动态制作不可编辑的单元格吗?每当用户提供类似false的输入时,我都想创建不可编辑的单元格…我已经在DefaultTableModel isCellEditable方法中看到过,但是如果我想使用它,则每次创建新对象时都会创建它,因此我想动态更改它为不可编辑。有人可以帮我吗?。谢谢 问题答案: 其他班级 然后,您可以通过使用存储的myModel变量并在其上调

  • 问题内容: 我正在尝试用Java编写程序来管理我的Bookie帐户。我是java的新手,所以我认为我会选择一些简单的方法来了解事情的原理。我决定使用表格视图并使各个单元格可编辑。我一直在关注本教程http://java- buddy.blogspot.co.uk/2012/04/javafx-2-editable-tableview.html 。它详细说明了如何使用Java代码执行此操作,并将其复

  • 我正在 中使用 现在我遇到了表视图单元格高度的问题。我正在聊天屏幕上工作,所以我有文字,图像。所以我在管理屏幕的其中取了一个原型单元。现在下面是我的身高代码 因此,文本单元格没有得到我所期望的,但我不知道我的错误在哪里,还有一件事,如果我< code > returnuitableviewautomaticdimension ,它的工作很好的文本信息,而不是图像。请帮助我,先谢了。

  • 问题内容: 嗨,我正在使用GXT 2.2.3创建可编辑网格。我创建了如下列: 现在,我想根据eventCombo框值的值,将checkinDate,CheckIntime,CheckOutDate和CheckOutTime列单元格设置为不可编辑或禁用。 如何在eventCombo的侦听器框中进行此操作。请提出建议。 我是GXT的新手。 更新 我尝试了下面的代码来禁用和启用单元格,但是它禁用了单元格

  • 我需要JavaFX tableView的可编辑单元格。默认的TextFieldTableCell要求用户按enter提交更改。我认为一个典型的用户期望在单元格外单击时保留更改。我想要的所有功能包括: 单击选择单元格并 在选定的单元格中单击另一个单元格,或回车,开始编辑。 双击单元格开始编辑。 按enter提交对单元格的更改 在单元格之外的任何地方更改鼠标焦点都将向单元格提交更改 我在这篇文章中发现