如何动态填充tableview,javafx 8,

时间:2016-12-28 20:11:39

标签: javafx tableview

我通过SceneBuilder创建了一个TableView,以便它接收动态数据,也就是说,我将始终拥有不同的SQL脚本,其数据我想在TableView中显示。 因此,列是根据我在sql中检测到的字段数量创建的。 这已经完成了。问题出在流行的TableView行的代码中。 为此,我得到一个带有resultSet数据的ArrayList <String>,因为它是动态信息, 这个ArrayList <String>接收每个记录,其中的字段用#分隔。然后我得到了 我将作为列的字段数和创建的具有相似标题的TableView列到字段名称。这非常有效。 然后我创建了一个循环来获取ArrayList <String>元素,称为 aListString.At其中: Data [] []具有根据aListString的元素数量的行数和根据字段数量(qtdeCampos)的列数量。直到现在解决了。 然后循环填充数组data [] []没有问题,每行都有各自的字段。 最后,我用:

填写TableView
tableViewResultado.getItems().addAll(Arrays.asList(dados));

由于TableView定义为:

@FXML
  private  TableView<String[]> tableViewResultado;

但是,行没有填充数据数据[] [],其信息正确存储在此矩阵中。代码:

for(int j=0;j<qtdeCampos;j++) { TableColumn<String[],String> column = new TableColumn(); column.setText(arrayListCampos.get(j).getNomeCampo()); aTableColumn.add(column); tableViewResultado.getColumns().add(column); } String dados[][] = new String[aListString.size()][qtdeCampos]; for(int i=0;i<aListString.size();i++) { String dadosX[]=aListString.get(i).split("#"); for(int k=0;k<dadosX.length;k++) { dados[i][k]=dadosX[k]; } }

错误在哪里? 谢谢你的关注。

0 个答案:

没有答案