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