要使用ListView控件,需要加入組件:
成都創(chuàng)新互聯(lián)公司主營寧強(qiáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),寧強(qiáng)h5微信平臺(tái)小程序開發(fā)搭建,寧強(qiáng)網(wǎng)站營銷推廣歡迎寧強(qiáng)等地區(qū)企業(yè)咨詢
Microsoft Windows Common Controls 6.0
Windows資源管理器的右半部分,就是一個(gè)ListView控件。
作用
列出并列關(guān)系的對(duì)象及對(duì)象屬性。
ListView控件的對(duì)象層次結(jié)構(gòu)
ListView -整個(gè)控件
ColumnHeaders -標(biāo)題行
ColumnHeader -標(biāo)題列
ListItems -對(duì)象行集合
ListItem -對(duì)象行
ListSubItems -對(duì)象屬性集合
ListSubItem -對(duì)象屬性
注意:SubItems和ListSubItems的區(qū)別:SubItems是一個(gè)String數(shù)組;ListSubItems是一個(gè)集合。
屬性
View:設(shè)置ListView的外觀
Sorted:設(shè)置ListView中的對(duì)象集合是否排序。
SortKey:設(shè)置以第幾項(xiàng)排序。從零開始。
SelectedItem:返回選中的對(duì)象的引用。
事件
AfterLabelEdit:編輯ListItem對(duì)象的標(biāo)簽時(shí)被觸發(fā)。
BeforeLabelEdit:編輯ListItem對(duì)象的標(biāo)簽后出發(fā)。
ColumnClick:?jiǎn)螕袅袠?biāo)題時(shí)觸發(fā)。參數(shù)中可以獲得被單擊的列對(duì)象。通常用于排序。
ItemClick:?jiǎn)螕裟承谢蚰矻istItem時(shí)觸發(fā)。參數(shù)中可以獲得被單擊的ListItem對(duì)象。
方法
FindItem:搜索ListItem對(duì)象。
參數(shù):
string:搜索字符串。
value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:開始搜索的位置。
match:匹配方式。
HitTest:檢索位于特定坐標(biāo)處的ListItem對(duì)象。
ListView控件比前面幾種控件要復(fù)雜一些,通過此控件,可將項(xiàng)目組成帶有或不帶有列標(biāo)頭的列,并顯示伴隨的圖標(biāo)和文本。ListView控件是由ColumnHeader和ListItem對(duì)象所組成的,其中ColumnHeader對(duì)象的個(gè)數(shù)決定了控件的列數(shù),而ListItem對(duì)象的個(gè)數(shù)則決定了控件的行數(shù)。(圖7)
ColumnHeader對(duì)象是ListView控件中包含標(biāo)頭文字的項(xiàng)目。利用ColumnHeader對(duì)象,用戶可以:
▲單擊對(duì)象觸發(fā)ColumnClick事件并根據(jù)數(shù)據(jù)項(xiàng)目將項(xiàng)目排序。
▲拖動(dòng)對(duì)象的右邊框來調(diào)整列寬度。
▲在報(bào)表視圖中隱藏ColumnHeader對(duì)象。
ColumnHeader對(duì)象的數(shù)目決定每個(gè)ListItem對(duì)象可包含的子項(xiàng)目數(shù)目。刪除ColumnHeader對(duì)象后所有與列關(guān)聯(lián)的子項(xiàng)目也將被刪除,并且每個(gè)ListItem對(duì)象的子項(xiàng)目數(shù)組將平移以更新ColumnHeader的索引,而這將導(dǎo)致剩余的列標(biāo)頭SubItemIndex屬性的改變。
ColumnHeader對(duì)象的SubItemIndex屬性
該屬性返回與ListView控件中ColumnHeader對(duì)象關(guān)聯(lián)的子項(xiàng)目的索引。子項(xiàng)目是字符串?dāng)?shù)組,代表顯示在報(bào)表視圖中的ListItem對(duì)象的數(shù)據(jù)。第一列的列標(biāo)頭SubItemIndex屬性設(shè)置為0,這是因?yàn)樾D標(biāo)和ListItem對(duì)象的文字總出現(xiàn)在第一列中,而且它們被當(dāng)作ListItem對(duì)象而不是子項(xiàng)目。列標(biāo)頭數(shù)目取決于子項(xiàng)目數(shù)目。列標(biāo)頭數(shù)目總是比子項(xiàng)目數(shù)目多1。
在設(shè)計(jì)時(shí)可以利用屬性頁的“列首”選項(xiàng)卡將ColumnHeader對(duì)象添加到ListView控件中,在運(yùn)行時(shí)則用Add方法添加。
ColumnHeader對(duì)象的Add方法
該方法的使用與前面那些控件基本相似,就不再介紹了。
ListView1.ColumnHeader.Add(index,key,text,width,alignment)
ListItem對(duì)象是指控件中的一行(不包含標(biāo)頭行)的所有內(nèi)容。它也可包含文本和圖片,但是要使用圖片則必須通過Icons和SmallIcons屬性引用ImageList控件。
ListItem對(duì)象的SubItems屬性
返回或設(shè)置一個(gè)字符串(子項(xiàng)目)數(shù)組,它代表ListView控件中ListItem對(duì)象的數(shù)據(jù)。
ListItem對(duì)象可包含任意多個(gè)的關(guān)聯(lián)項(xiàng)目數(shù)據(jù)字符串(子項(xiàng)目),但每個(gè)ListItem對(duì)象子項(xiàng)目數(shù)目必須相同。每個(gè)子項(xiàng)目都對(duì)應(yīng)于相關(guān)的列標(biāo)頭,無法直接向子項(xiàng)目數(shù)組添加元素,只有通過ColumnHeaders的Add方法添加列標(biāo)頭的方法來添加子項(xiàng)目。
ListItem對(duì)象的Add方法
該方法添加ListItem對(duì)象到ListView控件的ListItems集合中并返回對(duì)新創(chuàng)建對(duì)象的引用。
它的語法如下:
ListItem1.Add(index,key,text,icon,smallIcon)
ListView控件的View屬性
ListView控件可使用四種不同視圖顯示項(xiàng)目,這可以用View屬性來確定。該屬性返回或設(shè)置ListView控件中ListItem對(duì)象的外觀。
ListView控件的SortOrder,SortKey和Sorted屬性
控件中的ListItem對(duì)象可以按要求進(jìn)行排序,與排序有關(guān)的屬性是SortOrder,Sorted和SortKey屬性。
SortOrder屬性返回或設(shè)置一個(gè)值,此值決定ListView控件中的ListItem對(duì)象以升序或降序排序。
SortKey屬性返回或設(shè)置一個(gè)值,此值決定ListView控件中的ListItem對(duì)象如何排序。
Sorted屬性返回或設(shè)置確定ListView控件中的ListItem對(duì)象是否排序的值。
下面的代碼說明了如何創(chuàng)建ColumnHeaders和ListItem對(duì)象,SubItemIndex和SubItem屬性的使用方法以及如何排序。
Private Sub Form_load()
'確保ListView控件的view屬性為報(bào)表視圖。
ListView1.View=lvwReport
'添加三列。
ListView1.ColumnHeaders.Add,"Name","姓名"
ListView1.ColumnHeaders.Add,"Sex","性別"
ListView1.ColumnHeaders.Add,"Age","年齡"
'向控件添加ListItem對(duì)象。
Dim itmX As ListItem
'添加column1的名稱。
Set itmX=ListView1.ListItems.Add(1,"ZL","張力")
'使用SubItemIndex將SubItem與正確的ColumnHeader關(guān)聯(lián)。使用關(guān)鍵字("Sex")指定正確的ColumnHeader。
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
'使用ColumnHeader關(guān)鍵字將SubItems字符串與
'正確的ColumnHeader關(guān)聯(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
list1.additem j 意思就是把j添加至list1列表中,這是在一個(gè)for 循環(huán)中,循環(huán)了10次,添加了10次 j,即 list1 中 有10列分別為:1,3,6,10,15,21,28,36,45,55
下面又來了一個(gè)循環(huán), list1.removeitem 刪除列,刪除的是 list1.listcount - i ,list1.listcount 就是總列數(shù)為10,減去 i ,i 是1到4,即10-1,9-2,8-3,7-4 每減掉一次,list1.listcount 就少了一條記錄。
(注意,list1.listcount-1 是最后一條記錄)
減掉了第 9,7,5,3列
剩余為 1,3,6,15,28,45
結(jié)果為:3,15,28
'ListCount返回列表框中的項(xiàng)目總數(shù)
'ListCount-1是列表框中最后一個(gè)項(xiàng)目的索引號(hào)
'虧你提醒了,我寫錯(cuò)了,上面修改了,第一個(gè)索引為0,最后一個(gè)為9.
'也就是,問題所問的第二列的索引為1,第四列的索引為3...
Dim
sl
As
New
ArrayList
sl.Add("單個(gè)字符串")
Dim
sa
As
String()
=
{"a",
"b",
"c"}
sl.AddRange(sa)
'添加字符數(shù)組
Dim
objs
As
Object()
=
sl.ToArray
'將數(shù)據(jù)轉(zhuǎn)換為數(shù)組
注意,ArrayList不是類型安全的集合方式,如果你的集合只要存儲(chǔ)字符串的話,建議用List(Of
String)來進(jìn)行操作。
第一個(gè)問題,存儲(chǔ)數(shù)據(jù):
使用SqlCommand(如果是Sql的):
Using
cmd
As
New
SqlCommand()
cmd.Connection
=
new
SqlConnection("server=.;database=數(shù)據(jù)庫名;integrated
security=sspi")
cmd.Connection.Open()
cmd.CommandText=string.Format("Insert
into
表名字
Values('{0}','{1}'",您的第一個(gè)字符串變量,第二個(gè)字符串變量【如果是數(shù)值類型的,不要在索引前加單引號(hào)了】)
cmd.NonExecuteQuery();
'獲取數(shù)據(jù)
SqlDataAdapter
adapter
=
new
SqlDataAdapter(cmd);
cmd.CommandText="select
*
from
表"
DataTable
dt
=
new
DataTable()
adapter.Fill(dt)
DataGridView.DataSource
=
dt
End
Using
釋放綁定,添加新的數(shù)據(jù)代碼有問題,可能是insert into 語句不對(duì)。
報(bào)的錯(cuò)是什么?
或者,輸出一下,你的str。
Response.Write(str)
Response.End()
當(dāng)前名稱:vb.net添加數(shù)據(jù) vb怎么創(chuàng)建數(shù)據(jù)庫
網(wǎng)站鏈接:http://aaarwkj.com/article38/hhppsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站設(shè)計(jì)、云服務(wù)器、關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)