当前位置:首页 > 网络编程 > WEB编程 > ASP.net > VB.NET中LISTVIEW排序

VB.NET中LISTVIEW排序

点击次数:19 次 发布日期:2008-11-27 00:08:49 作者:源代码网
源代码网推荐

控件:
源代码网推荐
源代码网推荐TEXTBOX :1个 Name:txtJobNo

BUTTON: 2个 Name:btnFilter,btnShowAll

LISTVIEW : 1个 Name:lstvwJobNo Columns:JobNo,ContainerID,CartonID,PO,Style,Color,Size,ShipMent,Factory Sorting:none


源代码网推荐

源代码:

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"


源代码网推荐"定义默认排序变量
源代码网推荐Dim mySort As String = "ASC"
源代码网推荐
源代码网推荐"定义默认字段变量
源代码网推荐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

源代码网整理以下

"显示所有记录
源代码网推荐Private Sub btnShowAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowAll.Click
源代码网推荐 List_dgJobNo("")
源代码网推荐End Sub

源代码网整理以下

"函数功能:将读取出来的数据写入lstvwJovNo的表格中
源代码网推荐"函数名称:List_dgJobNo,调用格式:List_dgJobNo("10022"),List_dgJobNo("")
源代码网推荐"参 数:fJobNo,要查询的工作号JOBNO,为空时则查询所有的
源代码网推荐"编 写 者:SD
源代码网推荐"日 期:2005-9-23
源代码网推荐"转载请保留此信息
源代码网推荐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

varSQL = 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

源代码网整理以下

"获得排序的字段,并显示排序标记
源代码网推荐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


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华