一、
前言虛擬模式在許多情況下都很有用。 如果必須從已存在於記憶體中的非常大的集合填充乙個 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 電阻器,會增...