2016-11-19 56 views

回答

0

該模型直接顯示查詢結果SELECT,因此它顯示查詢時數據庫的狀態。

更新數據庫的代碼使用不直接影響模型內部數據的操作(以前的SELECT查詢的緩存結果),因此就視圖而言沒有變化。

refresh()中再次應用SELECT查詢更新模型關於該數據庫狀態的知識,從而導致新數據在視圖中可用。

「清除」是由setData()clear()的調用引起的。 不知道爲什麼它在那裏,我不認爲這是必要的。

+0

我認爲需要清除以顯示更改的數據。但我有一個新的問題關心它。如果更改的項目是大表格的最後一個並且被視爲向下滾動,則刷新listview失去滾動位置後,用戶需要顯示其更改的值,但listview會顯示第一個記錄。 –

+0

Listview.scrolltoitem需要使用,我想。 –

+0

是的,無論是手動滾動,或者實現您自己的模型,更新而不是重置。 –