欢迎光临
我们一直在努力

VB.NET中LISTVIEW排序-.NET教程,VB.Net语言

建站超值云服务器,限时71元/月

 

控件:

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)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » VB.NET中LISTVIEW排序-.NET教程,VB.Net语言
分享到: 更多 (0)