使用動態(tài)定義
站在用戶的角度思考問題,與客戶深入溝通,找到青島網(wǎng)站設計與青島網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡空間、企業(yè)郵箱。業(yè)務覆蓋青島地區(qū)。
ReDim a() AS **********'定義一個動態(tài)數(shù)組
...........
計算出第一個Y
ReDim a(0)
a(0)=Y
.....................
計算出第二個Y
ReDim Preserve a(1) '再次分配元素并保留原有元素
a(1) =Y
.........................
.........................
ReDim Preserve a(N) '第N次分配元素并保留原有元素
a(N) =Y
Dim
sl
As
New
ArrayList
sl.Add("單個字符串")
Dim
sa
As
String()
=
{"a",
"b",
"c"}
sl.AddRange(sa)
'添加字符數(shù)組
Dim
objs
As
Object()
=
sl.ToArray
'將數(shù)據(jù)轉(zhuǎn)換為數(shù)組
注意,ArrayList不是類型安全的集合方式,如果你的集合只要存儲字符串的話,建議用List(Of
String)來進行操作。
不是ListView1.Items.SubItems
而是ListView1.Items(序號).Subitems
首先ListView1.Items是一個集合。
ListView1.Items(序號)表示集合內(nèi)的一個個體,即ListViewItem
所以應該是這樣
Dim?litem?As?New?ListViewItem
litem.Text?=?Fico
litem.SubItems.Add(Fname)
litem.SubItems.Add(Ftype)
litem.SubItems.Add(Fpath)
ListView1.Items.Add(litem)
這里把你的Fico當作了String,如果要顯示圖標,應該配合ImageList添加。
要使用ListView控件,需要加入組件:
Microsoft Windows Common Controls 6.0
Windows資源管理器的右半部分,就是一個ListView控件。
作用
列出并列關系的對象及對象屬性。
ListView控件的對象層次結(jié)構(gòu)
ListView -整個控件
ColumnHeaders -標題行
ColumnHeader -標題列
ListItems -對象行集合
ListItem -對象行
ListSubItems -對象屬性集合
ListSubItem -對象屬性
注意:SubItems和ListSubItems的區(qū)別:SubItems是一個String數(shù)組;ListSubItems是一個集合。
屬性
View:設置ListView的外觀
Sorted:設置ListView中的對象集合是否排序。
SortKey:設置以第幾項排序。從零開始。
SelectedItem:返回選中的對象的引用。
事件
AfterLabelEdit:編輯ListItem對象的標簽時被觸發(fā)。
BeforeLabelEdit:編輯ListItem對象的標簽后出發(fā)。
ColumnClick:單擊列標題時觸發(fā)。參數(shù)中可以獲得被單擊的列對象。通常用于排序。
ItemClick:單擊某行或某ListItem時觸發(fā)。參數(shù)中可以獲得被單擊的ListItem對象。
方法
FindItem:搜索ListItem對象。
參數(shù):
string:搜索字符串。
value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:開始搜索的位置。
match:匹配方式。
HitTest:檢索位于特定坐標處的ListItem對象。
ListView控件比前面幾種控件要復雜一些,通過此控件,可將項目組成帶有或不帶有列標頭的列,并顯示伴隨的圖標和文本。ListView控件是由ColumnHeader和ListItem對象所組成的,其中ColumnHeader對象的個數(shù)決定了控件的列數(shù),而ListItem對象的個數(shù)則決定了控件的行數(shù)。(圖7)
ColumnHeader對象是ListView控件中包含標頭文字的項目。利用ColumnHeader對象,用戶可以:
▲單擊對象觸發(fā)ColumnClick事件并根據(jù)數(shù)據(jù)項目將項目排序。
▲拖動對象的右邊框來調(diào)整列寬度。
▲在報表視圖中隱藏ColumnHeader對象。
ColumnHeader對象的數(shù)目決定每個ListItem對象可包含的子項目數(shù)目。刪除ColumnHeader對象后所有與列關聯(lián)的子項目也將被刪除,并且每個ListItem對象的子項目數(shù)組將平移以更新ColumnHeader的索引,而這將導致剩余的列標頭SubItemIndex屬性的改變。
ColumnHeader對象的SubItemIndex屬性
該屬性返回與ListView控件中ColumnHeader對象關聯(lián)的子項目的索引。子項目是字符串數(shù)組,代表顯示在報表視圖中的ListItem對象的數(shù)據(jù)。第一列的列標頭SubItemIndex屬性設置為0,這是因為小圖標和ListItem對象的文字總出現(xiàn)在第一列中,而且它們被當作ListItem對象而不是子項目。列標頭數(shù)目取決于子項目數(shù)目。列標頭數(shù)目總是比子項目數(shù)目多1。
在設計時可以利用屬性頁的“列首”選項卡將ColumnHeader對象添加到ListView控件中,在運行時則用Add方法添加。
ColumnHeader對象的Add方法
該方法的使用與前面那些控件基本相似,就不再介紹了。
ListView1.ColumnHeader.Add(index,key,text,width,alignment)
ListItem對象是指控件中的一行(不包含標頭行)的所有內(nèi)容。它也可包含文本和圖片,但是要使用圖片則必須通過Icons和SmallIcons屬性引用ImageList控件。
ListItem對象的SubItems屬性
返回或設置一個字符串(子項目)數(shù)組,它代表ListView控件中ListItem對象的數(shù)據(jù)。
ListItem對象可包含任意多個的關聯(lián)項目數(shù)據(jù)字符串(子項目),但每個ListItem對象子項目數(shù)目必須相同。每個子項目都對應于相關的列標頭,無法直接向子項目數(shù)組添加元素,只有通過ColumnHeaders的Add方法添加列標頭的方法來添加子項目。
ListItem對象的Add方法
該方法添加ListItem對象到ListView控件的ListItems集合中并返回對新創(chuàng)建對象的引用。
它的語法如下:
ListItem1.Add(index,key,text,icon,smallIcon)
ListView控件的View屬性
ListView控件可使用四種不同視圖顯示項目,這可以用View屬性來確定。該屬性返回或設置ListView控件中ListItem對象的外觀。
ListView控件的SortOrder,SortKey和Sorted屬性
控件中的ListItem對象可以按要求進行排序,與排序有關的屬性是SortOrder,Sorted和SortKey屬性。
SortOrder屬性返回或設置一個值,此值決定ListView控件中的ListItem對象以升序或降序排序。
SortKey屬性返回或設置一個值,此值決定ListView控件中的ListItem對象如何排序。
Sorted屬性返回或設置確定ListView控件中的ListItem對象是否排序的值。
下面的代碼說明了如何創(chuàng)建ColumnHeaders和ListItem對象,SubItemIndex和SubItem屬性的使用方法以及如何排序。
Private Sub Form_load()
'確保ListView控件的view屬性為報表視圖。
ListView1.View=lvwReport
'添加三列。
ListView1.ColumnHeaders.Add,"Name","姓名"
ListView1.ColumnHeaders.Add,"Sex","性別"
ListView1.ColumnHeaders.Add,"Age","年齡"
'向控件添加ListItem對象。
Dim itmX As ListItem
'添加column1的名稱。
Set itmX=ListView1.ListItems.Add(1,"ZL","張力")
'使用SubItemIndex將SubItem與正確的ColumnHeader關聯(lián)。使用關鍵字("Sex")指定正確的ColumnHeader。
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
'使用ColumnHeader關鍵字將SubItems字符串與
'正確的ColumnHeader關聯(lián)。
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"
Set itmX=ListView1.ListItems.Add(1,"LF","李芳")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"
Set itmX=ListView1.ListItems.Add(1,"WW","王偉")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)
Select Case ColumnHeader.Key
Case "Sex":ListView1.SortKey=1
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
Case "Age":ListView1.SortKey=2
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
End Select
End Sub