the table view dosen't show the data in javafx

77 Views Asked by At

I've made correct code but not showing the result.

Is The table empty or hide at the end?

public class FXMLResultController implements Initializable {

@FXML
//You shouldn't make a new TableView
//TableView Tblresult = new TableView();
//Just declare it since it's already made in the FXML file
TableView Tblresult;

@FXML
TableColumn col;
@FXML
ResultSet Rs = null;
@FXML
public ComboBox reportcombo;

@FXML
int id = 1;

@FXML
public void SelectItem(ActionEvent event) throws SQLException {
    ObservableList data = FXCollections.observableArrayList();
    ObservableList row=null;
    // ObservableList row = FXCollections.observableArrayList();
    //ListView<String> a = new ListView<String>();
    // ArrayList row = new ArrayList();
    // ResultSetMetaData row;

    id = reportcombo.getSelectionModel().getSelectedIndex();
    String Query = null;

    switch (id) {
        case 0:
            Query = "select * from book";

            break;
        case 1:
            Query = "select sum(price) from book";

            break;
        case 2:
            Query = "select count(*) as tedad,title from book group by title";

            break;
        case 3:
            Query = "select * from book()";

            break;
        case 4:
            Query = "select * from book where";

            break;
        case 5:
            Query = "select * from book";

            break;
        case 6:
            Query = "select * from book";

            break;
        case 7:
            Query = "select * from book";

            break;
        case 8:
            Query = "select * from book";

            break;
        case 9:
            Query = "select * from book";

            break;
        case 10:
            Query = "select * from book";

            break;
        case 11:
            Query = "select * from book";

            break;

        case 12:
            Query = "select * from book";

            break;
        case 13:
            Query = "select * from book";

            break;

    }

    Rs = DB_Model.Exequte_Query(Query);
    Rs.beforeFirst();
    int counter = 1;
    Tblresult.getColumns().clear();
    while (Rs.next()) {
        row = FXCollections.observableArrayList();
        row.add(Rs.getString(counter));
        data.add(row);
        col = new TableColumn(Rs.getMetaData().getColumnName(counter));
        Tblresult.getColumns().add(col);
        col.setCellValueFactory(new PropertyValueFactory<Object,Object>(Rs.getMetaData().getColumnName(counter)));

        counter++;
    }

    Tblresult.getItems().setAll(data);
    Tblresult.setItems(data);
    Tblresult.setVisible(true);
    for (int i = 1; i <= 4; i++) {
        System.err.println(data);

    }

}

}

FXML.fxml file :

Fxml file :

  <TableView fx:id="Tblresult" layoutX="1.0" layoutY="262.0" prefHeight="256.0" prefWidth="692.0">

  </TableView>

When I print the row I see the result, but not when I set it in the table.

its my all code

0

There are 0 best solutions below