自己動手用代碼實現(xiàn)VB.NET ListView加載數(shù)據(jù)
VB.NET還是比較常用的,于是我研究了一下VB.NET ListView,在這里拿出來和大家分享一下,希望對大家有用。平時我們在VB.NET中開發(fā)數(shù)據(jù)庫相關(guān)的程序都會用到DataGrid來顯示數(shù)據(jù),它的使用相對簡單,也有排序的功能,基本能滿一般的要求。但有時它并不能滿足項目的功能需求,這時我們就想到了用VB.NET ListView,雖然它的功能正是我們所要的,必競它不是一個數(shù)據(jù)庫的控件,不能像DataGrid那樣通過簡單的設(shè)置就可以顯示數(shù)據(jù),同時也沒有排序的功能,這些就要我們自已用程序代碼來實現(xiàn)了。
前些天在開發(fā)一個項目時就寫了一段使用VB.NET ListView顯示數(shù)據(jù)并實現(xiàn)排序的代碼,簡單地說一下它的實現(xiàn)原理:顯示數(shù)據(jù)是通過循環(huán)讀取數(shù)據(jù)記錄,用VB.NET ListView的Add方法將數(shù)據(jù)添加到ListView中;排序的功能是通過ListView列的點擊事件來得到要排序的字段,再使用ORDER BY關(guān)鍵字組合SQL重新加載數(shù)據(jù)來實現(xiàn)排序的。
以下是程序所使用的數(shù)據(jù)庫及控件的設(shè)置信息:
數(shù)據(jù)庫名:Northwind(SQL SERVER 2000中自帶的,如果沒有此數(shù)據(jù)庫請先建立)
表名:Products(如果沒有這個表,請使用后面附帶的SQL語句建立)
窗體名:frmListViewDb
- Imports System.Data.SqlClient
- Public Class frmListViewDb
- Inherits System.Windows.Forms.Form
- '定義數(shù)據(jù)庫連接對象
- Dim sdConn As New SqlConnection
- Dim conString As String = "data source=127.0.0.1;initial catalog=Northwind;uid=sa;password=123456"
- '定義記錄db2ListView執(zhí)行狀態(tài)的變量
- Dim Dbr As Integer
- '定義記錄默認排序方式的變量
- Dim mySort As String = "ASC"
- '定義記錄默認排序字段的變量
- Dim myField As String = "ProductID"
- '定義記錄上次排序的字段在LISTVIEW中的列ID的變量
- Dim pOrderID As Integer = 0
- '定義復選操作的相關(guān)變量
- Dim i As Integer
- Dim sCount As Integer
- #Region " Windows 窗體設(shè)計器生成的代碼 "
- Public Sub New()
- MyBase.New()
- '該調(diào)用是 Windows 窗體設(shè)計器所必需的。
- InitializeComponent()
- '在 InitializeComponent() 調(diào)用之后添加任何初始化
- End Sub
- '窗體重寫 dispose 以清理組件列表。
- Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
- If disposing Then
- If Not (components Is Nothing) Then
- components.Dispose()
- End If
- End If
- MyBase.Dispose(disposing)
- End Sub
【編輯推薦】