2017-01-02 179 views
-1

我有一個帶有列的表格。最初,表格是空白的。我需要像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」之後沒有出現在小區(小區仍爲空白),而數據的打印表明價值已經正常進入。

回答

-1

我改性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