从表视图javafx中删除列
我在javafx中有一个表视图,我动态添加列,因为我不知道列的数量。当我点击按钮时,我想删除tableView的所有行和列。我有下面的代码。在向表中添加新数据之前,我希望删除表中的所有列。我尝试了很多在网上找到的东西,但都没用。谢谢从表视图javafx中删除列,java,javafx,javafx-8,Java,Javafx,Javafx 8,我在javafx中有一个表视图,我动态添加列,因为我不知道列的数量。当我点击按钮时,我想删除tableView的所有行和列。我有下面的代码。在向表中添加新数据之前,我希望删除表中的所有列。我尝试了很多在网上找到的东西,但都没用。谢谢 public void handleEventsClick(){ String tableName = (String) events.getSelectionModel().getSelectedItem(); ObservableList<
public void handleEventsClick(){
String tableName = (String) events.getSelectionModel().getSelectedItem();
ObservableList<ObservableList> transitionEvents = FXCollections.observableArrayList();
tableColumns = new TableColumn[traEv.size()];
int trEvSize = 0;
for(int i = 0; i < traEv.size();i++){
ArrayList<TransitionSubsequencePair> tep = traEv.get(i);
TableColumn tc = new TableColumn("TrEv:" + i);
tableColumns[i] = tc;
final int j = i;
tc.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
eventsTableView.getColumns().addAll(tc);
}
ObservableList<String> row = FXCollections.observableArrayList();
row.clear();
for(int i = 0; i < traEv.size();i++){
ArrayList<TransitionSubsequencePair> tep = traEv.get(i);
ArrayList<String> seenTables = new ArrayList<String>();
for(TransitionSubsequencePair tre: tep){
System.out.println(tre.getTable());
String lala = "";
if(tre.getTable().equals(tableName) && (!seenTables.contains(tre.getTable()) || seenTables.isEmpty())){
System.out.println(i);
lala += tre.getTransition() + ":" + tre.getSubsequence() + ",";
row.add(lala);
seenTables.add(tre.getTable());
}
System.out.println("--"+lala);
}
}
transitionEvents.add(row);
eventsTableView.setItems(transitionEvents); // finally add data to tableview
}
public void handleeventclick(){
String tableName=(String)events.getSelectionModel().getSelectedItem();
ObservableList transitionEvents=FXCollections.observableArrayList();
tableColumns=新的TableColumn[traEv.size()];
int-trEvSize=0;
对于(int i=0;i
要删除所有数据:
eventsTableView.getItems().clear();
要删除所有列,请执行以下操作:
eventsTableView.getColumns().clear();
再一次。。你比我快10秒;-)谢谢,它真的帮助了我(为了工作我不得不改变一些东西,但是你的回答帮了我很多)。