我已經一個JavaFX TableView中定義爲:的JavaFX的TableView插入在ObservableList當列排序是活性
private ObservableList<MyMessage> messagesList;
// Allocate the message list
messagesList = FXCollections.observableArrayList();
// Set the list into place
messages.setItems(messagesList);
的MyMessage對象有10個字段:
TableView<MyMessage> messages;
它是由一個ObservableList支持所有類型的String。有一個後臺操作,將MyMessage對象插入到ObservableList中。
messages.add(new MyMessage(String ... colData));
一切正如廣告所說。當對象被插入到ObservableList中時,TableView的表格行被更新。
什麼似乎沒有按預期工作,是如果我點擊一個列標題排序表後,由後臺線程插入後續項目附加到表的末尾。不適合正確排序的行位置。如果我點擊這個欄目,表格就會正確地呈現出來。
我是否需要在每次向ObservableList添加內容時強制重新排序表?或者應該由TableView爲我照顧。
謝謝。
要強制重新排序,我們是否需要清除TableView.sortOrder()並重置它? –