VB.NET还是比较常用的,于是我研究了一下VB.NET ListView,在这里拿出来和大家分享一下,希望对大家有用。平时我们在VB.NET中开发数据库相关的程序都会用到DataGrid来显示数据,它的使用相对简单,也有排序的功能,基本能满一般的要求。但有时它并不能满足项目的功能需求,这时我们就想到了用VB.NET ListView,虽然它的功能正是我们所要的,必竞它不是一个数据库的控件,不能像DataGrid那样通过简单的设置就可以显示数据,同时也没有排序的功能,这些就要我们自已用程序代码来实现了。
前些天在开发一个项目时就写了一段使用VB.NET ListView显示数据并实现排序的代码,简单地说一下它的实现原理:显示数据是通过循环读取数据记录,用VB.NET ListView的Add方法将数据添加到ListView中;排序的功能是通过ListView列的点击事件来得到要排序的字段,再使用ORDER BY关键字组合SQL重新加载数据来实现排序的。
以下是程序所使用的数据库及控件的设置信息:
数据库名:Northwind(SQL SERVER 2000中自带的,如果没有此数据库请先建立)
表名:Products(如果没有这个表,请使用后面附带的SQL语句建立)
窗体名:frmListViewDb
- Imports System.Data.SqlClient
- Public Class frmListViewDb
- Inherits System.Windows.Forms.Form
- '定义数据库连接对象
- Dim sdConn As New SqlConnection
- Dim conString As String = "data source=127.0.0.1;initial catalog=Northwind;uid=sa;password=123456"
- '定义记录db2ListView执行状态的变量
- Dim Dbr As Integer
- '定义记录默认排序方式的变量
- Dim mySort As String = "ASC"
- '定义记录默认排序字段的变量
- Dim myField As String = "ProductID"
- '定义记录上次排序的字段在LISTVIEW中的列ID的变量
- Dim pOrderID As Integer = 0
- '定义复选操作的相关变量
- Dim i As Integer
- Dim sCount As Integer
- #Region " Windows 窗体设计器生成的代码 "
- Public Sub New()
- MyBase.New()
- '该调用是 Windows 窗体设计器所必需的。
- InitializeComponent()
- '在 InitializeComponent() 调用之后添加任何初始化
- 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
【编辑推荐】