如圖所示,工具箱的“所有Windows窗體”中有,如果沒有,可選擇“選擇項”添加
站在用戶的角度思考問題,與客戶深入溝通,找到尉犁網站設計與尉犁網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網站、成都網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣、域名注冊、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋尉犁地區(qū)。
VB中表格控件有很多,如MSFlexGrid,DataGrid,MSHFlexGrid等等
使用的多的是微軟的FlexGrid控件。
通過菜單"Project" - "Components" - 勾上"Microsoft FlexGrid Control 6.0"進行選擇。這個是包含在VS6 SP6安裝包內的。
接收數(shù)據(jù)時,使用一個 Label 顯示就行了。而且跳過一些數(shù)據(jù)再顯示,例如一秒鐘才顯示一個數(shù)據(jù)。
你應該把精力放到領導(或者用戶)的意圖上,不要糾結技術上的 ListBox。
private?void?button1_Click(object?sender,?EventArgs?e)
{
DataSet?ds?=?new?DataSet();
ds.ReadXml("D:\\1.xml");
foreach?(DataRow?row?in?ds.Tables[0].Rows)
{
string?a1?=?row[0].ToString();
string?a2?=?row[1].ToString();
string?a3?=?row[2].ToString();
string?a4?=?row[3].ToString();
MessageBox.Show(a1);
MessageBox.Show(a2);
MessageBox.Show(a3);
MessageBox.Show(a4);
}
}
//用ADO.net中的Connection進行OLE連接到Access文件,連接字符串例子:
connstr="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA?Source=DB文件路徑;Jet?OLEDB:Database?password=密碼"
//再發(fā)送Command命令SQL,
Select?*?from?Student_Perfomance?where?Stu_No='取到的學號'
//再用DataReader取出數(shù)據(jù),設置到窗體的控件上。
要使用ListView控件,需要加入組件:
Microsoft Windows Common Controls 6.0
Windows資源管理器的右半部分,就是一個ListView控件。
作用
列出并列關系的對象及對象屬性。
ListView控件的對象層次結構
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ù)項目將項目排序。
▲拖動對象的右邊框來調整列寬度。
▲在報表視圖中隱藏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對象是指控件中的一行(不包含標頭行)的所有內容。它也可包含文本和圖片,但是要使用圖片則必須通過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