[英]DataGridView, large scale databinding solutions
我開發了一個使用DataGridView的應用程序,其中可以包含多達50萬行。 當前的結構如下:
DataGridView.DataSource is a BindingSource
BindingSource.DataSource = AggregateBindingListView
AggBLV.SourceLists = {Lists of Data}
AggBLV.Sort("PropertyName")
AggBLV.ApplyFilter(Predicate)
...
AggregateBindingListView是一個實現的集合:Component,IBindingListView,IList,IRaiseItemChangedEvents,ICancelAddNew,ITypedList
這是由http://blogs.warwick.ac.uk/andrewdavey開發的優秀代碼。
無論如何。 我們已經使用了4年,它已成為性能瓶頸。
所以這是我的問題:
我有一個500k項的集合,並想將它們綁定到DataGridView。 我需要它具有多列排序,謂詞過濾和性能優先級。
我們剛剛升級到C#4.0。
我可以做得比我現有的更好嗎? 我可以發布時間統計信息等等,但是我需要一些比較信息。
您可以嘗試使用此處所示的數據虛擬化。 它是為WPF設計的,但它可能在經過少量改動的WinForms中可以工作。 這樣的想法是,您不必只一次將所有數據保存在內存中,而是僅根據需要加載必要的“頁面”,並在不再需要它們時將其卸載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.