Winform ListView虛擬模式

2022-01-20 12:54:47 字數 1920 閱讀 5981

一、

前言虛擬模式在許多情況下都很有用。 如果必須從已存在於記憶體中的非常大的集合填充乙個 listview 物件,則為每項建立乙個 listviewitem 物件會很浪費。 在虛擬模式下,從緩衝之中獲取所需的資料進行載入,效能會有很大提高。 在其他情況下,可能需要經常重新計算 listviewitem 物件的值,對整個集合進行此操作將產生不可接受的效能。

如下為虛擬模式的乙個應用示例(仿vs2010錯誤列表),截圖如下:

二、虛擬模式相關注意點

1、設定乙個快取屬性,來儲存需要載入的資料:

protected listcurrentcacheitemssource 

2、通過虛擬模式來載入資料,如下:  

private

void

loadlistviewitems(list

<

listviewitem

>

items)

listview.gridlines 

=true

;listview.fullrowselect 

=true

;listview.view 

=view.details;

listview.scrollable 

=true

;listview.multiselect 

=false

;listview.headerstyle 

=columnheaderstyle.clickable;

listview.visible 

=true

;listview.virtuallistsize 

=items.count;

listview.virtualmode 

=true

;listview.retrievevirtualitem 

+=new

retrievevirtualitemeventhandler(listview_retrievevirtualitem);

stripstatusinfo.text ="

當前總共記錄數為:"+

items.count;          

}listview.virtualmode =

true

;//設定虛擬模式

listview.virtuallistsize =

items.count;//設定虛擬列表容量大小

listview.retrievevirtualitem +=

newretrievevirtualitemeventhandler(listview_retrievevirtualitem);//繫結虛擬操作

void

listview_retrievevirtualitem(

object

sender, retrievevirtualitemeventargs e)

e.item 

=this

.currentcacheitemssource[e.itemindex];

if(e.itemindex 

==this

.currentcacheitemssource.count)

}需要注意及時釋放掉所需要的快取資料,如下:

if(e.itemindex 

==this

.currentcacheitemssource.count)

三、總結

當資料為幾萬條記錄時,載入listview速度非常快,不會造成任何影響,頁面顯示正常。目前,測試30w條簡單的記錄,效能還是可以接受的。當然,對於大資料量而言(50w條記錄以上),分頁才是最佳方式。其次,需要注意的是,對快取資料需要及時清空,避免不必要的效能損失。

共模差模阻抗

特性阻抗 差分阻抗含義 特性阻抗 是根據輸入阻抗計算的出的平均值。輸入阻抗 是線纜實際量測的阻抗值。差分阻抗 發射訊號可正負交替又稱為平衡阻抗。共模阻抗 導體走正編織或地線走負的訊號。目前用於同軸線或帶地線的cable。又稱不平衡阻抗。特性阻抗 假設一根均勻電纜無限延伸,在發射端的在某一頻率下的阻抗...

關於Ubuntu18 04虛擬機器配置橋接模式

虛擬機器設定為橋接模式 靜態ip的話可以連線arm開發板的。先說明一下,我一開始是在校園網環境下配置的,我們的路由器是設定為ap模式 也就是交換機模式 的,連入wifi後獲取的是a類靜態ip 10.x.x.x 在這種情況下配置橋接模式配了好多天打死都配不出來,最後屈服了,換成了手機開熱點給電腦連,5...

in amp 共模差模濾波

首先,確定兩蘋串聯電阻器的阻值,同時保證前面的電路可充分地驅動這個阻抗。這兩蘋電阻器的典型值在2k 和10k 之間,這兩蘋電阻器產生的雜訊不應當大於該儀表放大器本身的雜訊。採用一對2k 電阻器,詹森雜訊會增加 8nv hz1 2 採用4k 電阻器,會增加11nv hz1 2 採用10k 電阻器,會增...