1view codepublic
class
listviewah : listviewex210
11public
listviewah()
1217
18///
19///
重置listview集合
20///
21///
22public
void reset(ilistitems)
2334}35
this.virtuallistsize = this
.currentcacheitemssource.count;36}
37else
38this.virtuallistsize = 0;39
}4041///
42///
追加項43
///44
///45
public
4652
foreach ( var item in
l )53
56this.virtuallistsize = this
.currentcacheitemssource.count;57}
5859
///60
///清空所有項
61///
62public
void
clearallitem()
6368
this
.currentcacheitemssource.clear();
69this.virtuallistsize = this
.currentcacheitemssource.count;70}
7172
///73
///移除當前選中的項
74///
75///
76public
void removelistviewitem(ilistl)
7782
foreach ( var item in
l )83
86this.virtuallistsize = this
.currentcacheitemssource.count;87}
8889
///90
///虛擬模式事件
91///
92///
93///
94private
void listview_retrievevirtualitem(object
sender , retrievevirtualitemeventargs e)
95100
101 listviewitem lv = this
.currentcacheitemssource[e.itemindex];
102 e.item =lv;
103}
104105
///106
///獲取選中的第一行的文字值
107///
108///
109///
110public
string firstselectitemvalue(string
key)
111116
117///
118///
獲取列名的索引
119///
120///
121///
122public
int getcolumnsindex(string
key)
123131
}132
133return
i;134
}135
136///
137///
獲取選中項
138///
139///
140public listgetselectitem()
141148
return
l;149
}150
151///
152///
獲取選中行的某列集合
153///
154///
155///
156public list getlistviewfield(string
key)
157165
return
ids;
166}
167168
private
listviewitemcomparer mysorter;
169///
170///
排序171
///172
///173
protected
override
void
oncolumnclick(columnclickeventargs e)
174181
else
182189
else
190193
}194
else
195199
200this.currentcacheitemssource.sort(this
.mysorter);
201202
this
.invalidate();
203}
204}
205#endregion
206207
#region listview排序邏輯
208///
209///
listview排序邏輯
210///
211private
class listviewitemcomparer : system.collections.generic.icomparer212
218219
public listviewitemcomparer(int
column)
220 : this
()221
224225
///226
///227
///228
///哪列
229///
排序方式
230public listviewitemcomparer(int
column , sortorder sortorder)
231 : this
(column)
232235
236#region icomparer 成員
237public
intcompare(listviewitem x , listviewitem y)
238248
catch
( exception ex )
249253 result = string
.compare(c1 , c2);
254if ( this.order ==sortorder.ascending )
255258
else
if ( this.order ==sortorder.descending )
259262
else
263266
}267
#endregion
268269
///270
///當前排序列
271///
272public
intsortcolumn
273277
278///
279///
當前列排序方式
280///
281public
sortorder order
282286
}287
#endregion
288 }
使用listview普通模式載入大資料,會比較慢,即時使用執行緒載入,也會出現不斷的重新整理,故用虛擬模式下載入,速度快
本例中繼承第三方控制項的listviewex控制項,也可以繼承系統自帶的listview
ListView虛擬模式的使用
using system using system.collections.generic using system.linq using system.text using system.windows.forms using system.data 重置listview集合 public voi...
虛擬機器的封裝
本次是對rhel7.6虛擬機器系統的封裝 cat etc redhat release 檢視本機的系統版本 hostnamectl red hat公司發布的面向企業使用者的linux作業系統。oracle enterprise linux是美國甲骨文公司基於rhel依照開源規定發布的源 所編譯而成的...
Datagridview 虛擬模式
把資料放到datatable中 datatable c dtdttble null public datatable getdataset 動態新增datagridview列標題 private void form1 load object sender,eventargs e 填充單元格資料 pr...