久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ListView控件入門

 L羅樂 2017-07-06

 ListView控件入門


ListView控件是一款非常優(yōu)秀的表格控件,,對vba初學(xué)者來說,,熟練地掌握此控件的用法,不僅能大大地增加自己學(xué)習(xí)vba的興趣,,而且對實際工作也有很好的幫助,,本文將對ListView控件的各種用法作詳細(xì)介紹,由于水平有限,,若有不當(dāng)之處,,歡迎批評指正。

一,、        添加表頭

ListView控件添加表頭,,一般在窗體的初始化事件中完成,假如給一ListView1控件添加姓名,、性別,、文化,、住址、身份證可用以下代碼實現(xiàn):

Private Sub UserForm_Initialize()

ListView1.ColumnHeaders.Add , , '姓名', 40

ListView1.ColumnHeaders.Add , , '性別', 40

ListView1.ColumnHeaders.Add , , '文化', 40

ListView1.ColumnHeaders.Add , , '住址', 120

ListView1.ColumnHeaders.Add , , '身份證', 80

ListView1.View = lvwReport

ListView1.FullRowSelect = True

ListView1.Gridlines = True

End Sub

在以上代碼中40,、40,、40、120,、80代表該字段所在的列寬,在實際應(yīng)用中,,如何確定列寬對初學(xué)者來說是一個難點,,這里給大家提供一個確定列寬的實用方法,通常ListView控件加載的數(shù)據(jù)都存放在一張excel工作表中,我們先在工作表中調(diào)整好列寬,,然后用ListView控件需要加載的excel表格的列寬作為相應(yīng)ListView控件的列寬即可,,求列寬可用以vba代碼實現(xiàn)(如求excel表格D列的列寬)

Sub wdt()

MsgBox Cells(1, 'd').Width

End Sub

其他屬性介紹

ListView1.View = lvwReport,顯示格式為報表格式

ListView1.FullRowSelect = True, 允許整行選中

ListView1.Gridlines = True, 顯示網(wǎng)格線


在1樓的章節(jié)中,我們對ListView控件加載表頭作了較為詳盡的介紹,,在實際應(yīng)用中,,由于加載的對象都事先存儲在excel表格中,我們在加載表頭時還可以對代碼進(jìn)行優(yōu)化,,通過循環(huán)的方式,,減少代碼的編寫量,比如有一張excel表格,首行為標(biāo)題行,共有10個字段,,加載該表頭時可用以下代碼簡單實現(xiàn):

Private Sub UserForm_Initialize()

For J = 1 To 10

ListView1.ColumnHeaders.Add , , Cells(1, J), Cells(1, J).Width

Next

ListView1.View = lvwReport

ListView1.FullRowSelect = True

ListView1.Gridlines = True

End Sub

清除表頭可用以下代碼實現(xiàn):

ListView1.ColumnHeaders.Clear,請大家記住該代碼,,在后面深入介紹中會應(yīng)用到此語句。

二,、ListView加載數(shù)據(jù)

    在第一章中,我們學(xué)習(xí)了如何給ListView控件加載表頭,,在本章中我們將學(xué)習(xí)如何給ListView控件加載數(shù)據(jù),假如ListView控件的表頭為姓名,、性別,、文化、住址,、身份證,,張三的個人信息如下: 男、大學(xué),、南京市白下區(qū),、320123196610162018,將張三的個人信息加載給ListView控件代碼如下:

Set Itm = ListView1.ListItems.Add()

Itm.Text = '張三'

Itm.SubItems(1) = '男'

Itm.subitems(2) = '大學(xué)'

Itm.subitems(3) = '南京市白下區(qū)'

Itm.subitems(4) = '320123196610162018'

以上是加載1個人的信息,若現(xiàn)在有一張excel表格,,其表名為《員工信息表》,該表首行為姓名,、性別、文化,、住址,、身份證標(biāo)題, 從第2行到100行是99個人的個人信息,,現(xiàn)在要將這99個人的個人信息加載到ListView控件中,可用循環(huán)方法實行,,代碼如下:

For i = 2 To 100

Set Itm = ListView1.ListItems.Add()

Itm.Text = Cells(i, 1)

Itm.subitems(1) = Cells(i, 2)

Itm.subitems(2) = Cells(i, 3)

Itm.subitems(3) = Cells(i, 4)

Itm.subitems(4) = Cells(i, 5)

NextNext


ListView控件加載數(shù)據(jù)除上述加載方法之外,,還有一種重要的數(shù)據(jù)加載方法即加載SQL查詢記錄集,以上述《員工信息表》為例,其查詢,、加載數(shù)據(jù)代碼如下:

Dim cn As Object, rs As Object

Set cn = CreateObject('ADODB.Connection')                   '連接數(shù)據(jù)庫

Set rs = CreateObject('ADODB.Recordset')

    cn.Open 'dsn=excel files;dbq=' & ThisWorkbook.FullName

    Sql = 'Select * from [員工信息表$] '

    rs.Open Sql, cn, 1, 3

    ListView1.ListItems.Clear                             '清除ListView記錄

    Do While Not rs.EOF

    Set Itm=ListView1.ListItems.Add()                     '添加記錄

            Itm.Text = rs.Fields('姓名')                  '添加第一列內(nèi)容

            Itm.SubItems(1) = rs.Fields('性別')           '添加第二列內(nèi)容

            Itm.SubItems(2) = rs.Fields('文化')           '添加第三列內(nèi)容

            Itm.SubItems(3) = rs.Fields('住址')           '添加第四列內(nèi)容

            Itm.SubItems(4) = rs.Fields('身份證')         '添加第五列內(nèi)容

    rs.MoveNext

    Loop

    rs.Close: Set rs = Nothing: cn.Close

以上代碼中牽涉到SQL查詢相關(guān)知識點,,對SQL查詢不熟悉的朋友,可在網(wǎng)上查閱相關(guān)知識進(jìn)行學(xué)習(xí),,這樣才能更好地理解上述代碼,,更加方便日后的實際應(yīng)用。

三,、ListView控件的重要屬性和方法

在本章中我們將介紹ListView控件的一些重要屬性和方法,望大家能牢記這些屬性和方法,。

1、對齊屬性

ListView控件在初始化之前,,為美觀之需要,,我們可以對每列數(shù)據(jù)排列格式進(jìn)行設(shè)置,每列數(shù)據(jù)可或左對齊,、或右對齊,、或中間對齊,該項工作和加載表頭同步進(jìn)行,,下面以加載“ 姓名”表頭為例,,其代碼如下:

左對齊:   ListView1.ColumnHeaders.Add , , '姓名', 40, lvwColumnLeft

右對齊:   ListView1.ColumnHeaders.Add , , '姓名', 40, lvwColumnRight

中間對齊: ListView1.ColumnHeaders.Add , , '姓名', 40, lvwColumnCenter

這里需特別提醒ListView控件首列只能左對齊,否則代碼會出現(xiàn)編譯錯誤,。

2,、排序?qū)傩?/p>

ListView控件在初始化之前,可以根據(jù)用戶需求對指定列進(jìn)行排序,其代碼如下:

ListView1.Sorted = True 'listivew的排序?qū)傩詾門rue時, ListView控件將對指定列進(jìn)行排序,,屬性為False時ListView控件將不具有排序功能,。

ListView1.SortKey = 0  '   0為listivew排序的列索引號,0為第1列、1為第2列,以此類推,,若此項屬性值未設(shè)置,,ListView控件將默認(rèn)按首列排序。如果我們想點擊ListView表頭排序,可用以下代碼實現(xiàn):

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)

If ColumnHeader.Index - 1 > -1 Then ListView1.SortKey = ColumnHeader.Index - 1

End Sub

3,、顯示方式設(shè)置

ListView控件除了可以對數(shù)據(jù)排列格式進(jìn)行設(shè)置外,,還可以對數(shù)據(jù)顯示方式進(jìn)行設(shè)置,常見的有日期顯示方式,、金額顯示方式,以單元格F3數(shù)據(jù)加載給ListView控件第2列為例,,其代碼如下:

日期顯示方式: Itm.subitem1(1) = Format(Cells(3, 'F'), 'YYYYY-MM-DD')

金額顯示方式: Itm.subitem1(1) = Format(Cells(3, 'F'), '#0.00')

4、選擇ListView控件任意一行,獲取行號

I = ListView1.SelectedItem.Index

5,、獲取ListView控件第I行,首列的值

   ListView1.ListItems(I).Text

6,、獲取ListView控件第I行,J列的值

ListView1.ListItems(I).SubItems(J - 1)

7、刪除ListView控件第I行數(shù)據(jù)

   ListView1.ListItems.Remove I

8,、刪除ListView控件所有數(shù)據(jù)

ListView1.ListItems.Clear

9,、獲取ListView控件記錄數(shù)

ListView1.ListItems.Count


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多