DispatcherTimer()를 사용하여 데이터가 다른 위치에서 업데이트되는 데이터베이스에서 listview를 업데이트하는 업데이트 함수를 호출하고 있습니다. 따라서 listview는 대시 보드처럼 사용됩니다.WP 테이블 뷰를 db 테이블 업데이트로 업데이트하십시오.
private void Update(){
DateTime d = DateTime.Today;
items = (from i in DataManager.Entities.signals
where i.Date > d
orderby i.Id descending
select i).Take(MAX_NUM_OF_DISPLAYED);
this.lvDashboard.ItemsSource = items;
}
특정 양의 데이터가 도달 할 때까지 정상적으로 작동합니다. 데이터베이스에서 마지막으로 업데이트 된 데이터를 쿼리하여 itemssource에 추가 할 수 있다는 것을 알고 있습니다. 내 코드를 간단하고 명확하게하려고 노력 중입니다. 아이디어 나 제안을 주시겠습니까? 그것은 1000 데이터의 행과 데이터 창은 최근의 데이터로 이동 유지와마다 1 ~ 2 초가 업데이트
---------------- 갱신 --- . 프로세스 메모리가 계속 증가하는 몇 가지 이유가 있습니다. DataTable은 DB updaates를 모니터링합니까 ?? DB가 다른 곳에서 업데이트되면 DB가 DataTable 자체를 업데이트합니까?
정확하게 실패 할 경우 (매우 자주 목록보기를 업데이트합니까) ??? – MrClan
간단하고 명확한 것은 종종 빠른 것과 함께 잘 작동하지 않습니다.) 그러나 모든 사람들이 이미 제안했듯이. ItemsSource 재설정은 가능하면 최악입니다. 데이터 바인딩의 힘을 사용하고, ObservableCollection을 ItemsSource로 사용하고, 데이터를 목록에 추가하고, 나머지를 wpf로 처리하게하십시오. – dowhilefor