VB.NET LISTVIEW實(shí)現(xiàn)功能簡(jiǎn)述
在VB.NET開發(fā)框架內(nèi),同樣具有很多控件供開發(fā)人員使用,方便的實(shí)現(xiàn)各種圖形界面和程序功能需求。比如我們?cè)谶@里為大家介紹的VB.NET LISTVIEW就是一款能夠幫助我們實(shí)現(xiàn)排序的開發(fā)控件。#t#
控件:
TEXTBOX :1個(gè) Name:txtJobNo
BUTTON: 2個(gè) Name:btnFilter,btnShowAll
LISTVIEW : 1個(gè) Name:lstvwJobNo Columns:JobNo,ContainerID,CartonID,PO,Style,Color,Size,ShipMent,Factory Sorting:none
VB.NET LISTVIEW編寫源代碼:
- Imports System.Data.SqlClient
- Dim con As New SqlConnection
- Dim varSQL As String
- Dim r As Integer
- Dim conString As String =
"data source=127.0.0.1;initial
catalog=mydb; uid=sa;password=123"
'定義默認(rèn)排序變量
- Dim mySort As String = "ASC"
'VB.NET LISTVIEW定義默認(rèn)字段變量
- Dim myField As String
= "JOB.JOBNO"
'過濾指定條件的記錄
- Private Sub btnFilter_Click(ByVal
sender As System.Object, ByVal e
As System.EventArgs) Handles
btnFilter.Click- Try
- Dim fJobNo As String = ""
- fJobNo = txtJobNo.Text.Trim()
- r = List_dgJobNo(fJobNo)
- Catch ex As Exception
- MessageBox.Show(ex.ToString)
- Finally
- If con.State = ConnectionState.
Open Then- con.Close()
- End If
- End Try
- End Sub
'VB.NET LISTVIEW顯示所有記錄
- Private Sub btnShowAll_Click
(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Handles btnShowAll.Click- List_dgJobNo("")
- End Sub
'函數(shù)功能:將讀取出來的數(shù)據(jù)寫入lstvwJovNo的表格中
'函數(shù)名稱:List_dgJobNo,調(diào)用格式:List_dgJobNo("10022"),List_dgJobNo("")
'參 數(shù):fJobNo,要查詢的工作號(hào)JOBNO,為空時(shí)則查詢所有的
'編 寫 者:SD
'日 期:2005-9-23
'轉(zhuǎn)載請(qǐng)保留此信息
- Private Function List_dgJobNo(ByVal
fJobNo As String) As Integer- Try
- Cursor.Current = Cursors.WaitCursor
- lstvwJobNo.Items.Clear()
- con = New SqlConnection(conString)
- Dim cmd As SqlCommand
- Dim rd As SqlDataReader
- If fJobNo.Length > 0 Then
- varSQL = "SELECT JOB.JOBNO,CONTAINERNO,
CARTONFROM,PO,STYLE,COLOR,CARTONSIZE,
SHIPMENT,FACTORY FROM JOB,JOB_LINE
WHERE JOB.JOBNO=JOB_LINE.JOBNO AND JOB.
JOBNO LIKE '%" & fJobNo & "%' "- Else
- varSQL = "SELECT JOB.JOBNO,CONTAINERNO,
CARTONFROM,PO,STYLE,COLOR,CARTONSIZE,
SHIPMENT,FACTORY FROM JOB,JOB_LINE
WHERE JOB.JOBNO=JOB_LINE.JOBNO "- End If
- varSQLvarSQL = varSQL & "ORDER BY "
& myField & " " & mySort & ";"- cmd = New SqlCommand(varSQL, con)
- rd = cmd.ExecuteReader
- Dim lsv As ListViewItem
- While rd.Read
- lsv = New ListViewItem(rd("JOBNO").ToString)
- 'lsv.Checked = True
- lsv.SubItems.Add(rd("ContainerNo").ToString)
- lsv.SubItems.Add(rd("CartonFrom").ToString)
- lsv.SubItems.Add(rd("PO").ToString)
- lsv.SubItems.Add(rd("Style").ToString)
- lsv.SubItems.Add(rd("Color").ToString)
- lsv.SubItems.Add(rd("CartonSize").ToString)
- lsv.SubItems.Add(rd("ShipMent").ToString)
- lsv.SubItems.Add(rd("Factory").ToString)
- lstvwJobNo.Items.Add(lsv)
- End While
- Cursor.Current = Cursors.Default
- Return List_dgJobNo = 1
- Catch ex As Exception
- MessageBox.Show(ex.ToString)
- Return List_dgJobNo = -1
- Finally
- If con.State = ConnectionState.Open Then
- con.Close()
- End If
- End Try
- End Function
'VB.NET LISTVIEW獲得排序的字段,并顯示排序標(biāo)記
- Private Sub lstvwJobNo_ColumnClick
(ByVal sender As Object, ByVal e As
System.Windows.Forms.ColumnClickEventArgs)
Handles lstvwJobNo.ColumnClick- Select Case e.Column.ToString
- Case 0
- myField = "JOB.JOBNO"
- Case 1
- myField = "CONTAINERNO"
- Case 2
- myField = "CARTONFROM"
- Case 3
- myField = "PO"
- Case 4
- myField = "STYLE"
- Case 5
- myField = "COLOR"
- Case 6
- myField = "CARTONSIZE"
- Case 7
- myField = "SHIPMENT"
- Case 8
- myField = "FACTORY"
- End Select
- Dim i As Integer
- For i = 0 To 8
- lstvwJobNo.Columns(i).Text =
lstvwJobNo.Columns(i).Text.Replace
(" ▼", "").Replace(" ▲", "")- Next
- If mySort = "ASC" Then
- lstvwJobNo.Columns(e.Column.ToString)
.Text = lstvwJobNo.Columns(e.Column.
ToString).Text & " ▼"- mySort = "DESC"
- Else
- mySort = "ASC"
- lstvwJobNo.Columns(e.Column.ToString).
Text = lstvwJobNo.Columns(e.Column.
ToString).Text & " ▲"- End If
- Dim fJobNo As String = ""
- fJobNo = txtJobNo.Text.Trim()
- r = List_dgJobNo(fJobNo)
- lstvwJobNo.Refresh()
- End Sub
VB.NET LISTVIEW的相關(guān)操作方法和實(shí)現(xiàn)的功能就為大家介紹到這里。