使用Java编辑表格单元格

使用Java编辑表格单元格

问题描述:

我有一个带有列的表格。最初,表格是空白的。我需要像Excel一样在单元格中输入值。我按照javafx-table-cell-editing的问题以及TableView上的JAVA教程。使用Java编辑表格单元格

我编写这样的:

colCom1.setCellValueFactory(new PropertyValueFactory<>("C1")); 
colCom1.setCellFactory(TextFieldTableCell.forTableColumn()); 
colCom1.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<commonDataClass, String>>() { 
     @Override 
     public void handle(TableColumn.CellEditEvent<commonDataClass, String> t) { 
      ((commonDataClass) t.getTableView().getItems().get(
        t.getTablePosition().getRow())).setD1(t.getNewValue().toString());   
       tC1.setItems(myC1); 
       System.out.println("Col1->" + colCom1.isVisible()); 
       tC1.refresh(); 
       tC1.setVisible(true); 
      } 
     } 
    }); 

我现在面临的问题是编辑,然后按“Enter”之后没有出现在小区(小区仍为空白),而数据的打印表明价值已经正常进入。

我改性setCellValueFactory作为

colCom1.setCellValueFactory (
      new Callback<CellDataFeatures<commonDataClass, String>, ObservableValue<String>>() { 
     public ObservableValue<String> call(
       CellDataFeatures<commonDataClass, String> p) { 
      // p.getValue() returns the Person instance for a particular TableView row 
      return p.getValue().d1NameProperty(); 
     } 
    }); 

这清楚地显示该内容。

+0

我不明白downvote的原因。我正在等待帮助。我没有找到任何帮助,这是我试图让它工作的方式?我还提到了我所关注的资源。这个地方不适合我的研究。 – vegaonline

+0

回答你自己的问题的唯一目的是为其他用户提供有用的信息。对于其他任何人来说,这个答案都是毫无意义的,因为你没有解释为什么它解决了这个问题,并且你没有在可能表明这是问题的问题中提供代码。鉴于你提供的信息,没有任何办法,这可以推广到其他任何东西。由于它对任何其他用户都没有任何用处,所以我低估了它。 –

+0

我提到从第一篇文章中更改setCellValueFactory,第二篇文章显示了单元格中的条目。我是新手,而不是像你这样的专家。我贴出来知道我是否遵循正确的事情。我在这里是为了获得知识而不是参加选举。 – vegaonline