如何动态填充tableview JavaFX8
我通过SceneBuilder创建了一个TableView,以便它接收动态数据,也就是说,我将始终拥有不同的SQL脚本,我希望在TableView中显示这些脚本的数据。 因此,这些列是根据我在sql中检测到的字段数量创建的。 这项工作已经在进行中。问题出在流行的TableView行的代码中。 为此,我得到一个带有resultSet数据的如何动态填充tableview JavaFX8,javafx,tableview,Javafx,Tableview,我通过SceneBuilder创建了一个TableView,以便它接收动态数据,也就是说,我将始终拥有不同的SQL脚本,我希望在TableView中显示这些脚本的数据。 因此,这些列是根据我在sql中检测到的字段数量创建的。 这项工作已经在进行中。问题出在流行的TableView行的代码中。 为此,我得到一个带有resultSet数据的ArrayList,因为它是动态信息, 此ArrayList接收每个字段用#分隔的记录。然后我得到了 我将有多少字段作为列,并创建了与字段名标题类似的TableV
ArrayList
,因为它是动态信息,
此ArrayList
接收每个字段用#分隔的记录。然后我得到了
我将有多少字段作为列,并创建了与字段名标题类似的TableView列。那很好用。
然后我创建了一个循环来获取ArrayList
元素,称为
aListString的名称。在其中:
Data[][]
根据aListString的元素数指定行数,根据字段数指定列数(QTDECAMPO)。直到现在才解决。
然后循环会毫无问题地填充数组数据[],每行都有各自的字段。
最后,我用以下内容填写TableView:
tableViewResultado.getItems().addAll(Arrays.asList(dados));
由于TableView定义为:
@FXML
private TableView<String[]> tableViewResultado;
@FXML
私有TableView tableViewResultado;
但是,行中未填充数据[][],其信息已正确存储在此矩阵中。守则:
for(int j=0;jc)是否可以显示在列上设置的cellVlaueFactory
s?在我的情况下如何应用此属性?
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];
}
}