国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

vb.net實現一個自定義類數組的排序

2019-11-17 05:25:12
字體:
來源:轉載
供稿:網友
今天下午做東西時碰到這樣的問題:    把公司所有員工的業績(回訪數量,收費情況)用一個柱型圖表示出來,要求:A:Y軸表示公司的所有員工且業績為0的員工不顯示出來,X軸表示業績數量(回訪數量+收費情況);B:按要求對柱圖實現升序或著降序    按以上要求所得思路為:首先建立一個類(也可以通過結構來實現),類中包含的屬性(或字段)為員工ID屬性(或字段),員工回訪數量屬性(或字段),員工收費情況屬性(或字段),員工業績屬性等等。(為了能利用Array中的sort需要實現一個接口,會在原碼中說明)接著通過一個table來通過顏色或著圖片表現出來。下面是實現的原碼:Public Class Wordload
    Implements IComparable'一定要實現這個接口,才能利用下面的:Array.Sort
    Public pay As Integer '維護數量
    Public go_back As Integer '回訪數量
    Public name As String '用戶名稱
    Public total_ As Integer '維護數量+回訪數量'以下是想通過那個屬性(或字段),來進行排序
    Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
        Dim other As wordload = CType(obj, wordload)
        Return total_.CompareTo(other.total_)
    End Function    Public Sub New(ByVal pay_value As Integer, ByVal go_back_value As Integer, ByVal name_value As String)
        pay = pay_value
        name = name_value
        go_back = go_back_value
        total_ = pay + go_back
    End Sub
End Class Public Sub creat_test(ByVal myarr() As wordload, ByVal mytable As System.Web.UI.WebControls.Table)
        Array.Sort(myarr)'說明利用Array進行排序
        Dim rows_num As Integer = myarr.Length + 1 '說明:人員做為y軸,即人員的個數做為行數,其中為了寫表頭,要加一行,所以表的總行數為,人員個數+1
        Dim total_comm_num As Integer = myarr(myarr.Length - 1).total_ '說明:列數為工作量加1,因為人員的名字要占一列
        Dim pay_width As Integer '定義維護寬度
        Dim go_back_width As Integer '定義回訪寬度
        Dim myimage As HtmlControls.HtmlImage
        Dim myspan As HtmlControls.HtmlGenericControl        Dim begin_myrow As New Web.UI.WebControls.TableRow
        Dim mycell1 As New UI.WebControls.TableCell
        Dim mycol1 As New Color
        mycell1.Text = "員工"
        mycell1.BackColor = mycol1.Green
        mycell1.Style.Add("BACKGROUND-COLOR", "#949294")
        mycell1.Style.Add("FONT-WEIGHT", "bold")
        mycell1.Style.Add("FONT-SIZE", "18pt")
        mycell1.Style.Add("COLOR", "#ffffff")
        mycell1.Width = WebControls.Unit.Pixel(60)
        begin_myrow.Cells.Add(mycell1)
        begin_myrow.Width = Unit.Pixel(700)
        For b As Integer = 0 To 7 '寫第一行的列
            Dim mycol As New Color
            If b = 0 Then
                Dim mycell As New UI.WebControls.TableCell
                'mycell.BackColor = mycol.LightGreen
                begin_myrow.Cells.Add(mycell)
            Else
                myspan = New HtmlControls.HtmlGenericControl
                myspan.InnerText = ((total_comm_num * (b - 1) / 7) / 1).ToString
                myspan.Style.Add("WIDTH", "80px") 'WIDTH: 100px;
                myspan.Style.Add("HEIGHT", "40px") ' HEIGHT: 100px;: bold; FONT-SIZE: 18pt;COLOR: #ffffff;
                myspan.Style.Add("BACKGROUND-COLOR", "#949294")
                myspan.Style.Add("FONT-WEIGHT", "bold")
                myspan.Style.Add("FONT-SIZE", "18pt")
                myspan.Style.Add("COLOR", "#ffffff")
                begin_myrow.Cells(1).Controls.Add(myspan)
            End If
        Next
        mytable.Rows.Add(begin_myrow)
        For i As Integer = 0 To rows_num - 2
            pay_width = (500 * myarr(i).pay / total_comm_num) / 1 '給維護寬度進行賦值
            go_back_width = (500 * myarr(i).go_back / total_comm_num) / 1 '給回訪寬度進行賦值
            Dim myrow As New Web.UI.WebControls.TableRow
            myrow.Width = Unit.Pixel(700)
            Dim j As Integer
            '以下循環是添加維護情況
            For j = 0 To pay_width
                If j = 0 Then '在第一列要寫進用戶的名稱
                    Dim mycell As New UI.WebControls.TableCell
                    mycell.Text = myarr(i).name
                    mycell.Width = WebControls.Unit.Pixel(60)
                    Dim mycol As New Color
                    mycell.BorderColor = mycol.DeepPink
                    myrow.Cells.Add(mycell)
                    Dim mycell2 As New UI.WebControls.TableCell
                    myrow.Cells.Add(mycell2)
                Else '在第二列添加圖片信息
                    myspan = New HtmlControls.HtmlGenericControl
                    myimage = New HtmlControls.HtmlImage
                    myimage.Src = "Images/navbar.gif" '要顯示的中間圖片
                    myspan.Controls.Add(myimage)
                    myrow.Cells(1).Controls.Add(myspan)
                End If
            Next
            '以下循環是添加回訪情況
            For j = 0 To go_back_width
                myspan = New HtmlControls.HtmlGenericControl
                myimage = New HtmlControls.HtmlImage
                myimage.Src = "Images/navbar2.gif" '要顯示的中間圖片
                myspan.Controls.Add(myimage)
                myrow.Cells(1).Controls.Add(myspan)
            Next
            mytable.Rows.Add(myrow)
        Next
        mytable.Width = Unit.Pixel(700)
    End Sub后記:以上代碼在win2000+vs.net 中運行通過,由于是剛剛測試完成,代碼有點亂(變量名稱也是隨意的,有點不能代表意思!)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁河县| 太和县| 靖边县| 定陶县| 分宜县| 青海省| 西平县| 昌江| 鄯善县| 洪雅县| 武邑县| 来宾市| 东安县| 淮安市| 襄汾县| 平顺县| 偏关县| 绥化市| 巴中市| 梨树县| 龙游县| 漳平市| 平武县| 金溪县| 祁门县| 本溪| 雅江县| 六枝特区| 武胜县| 阳东县| 闸北区| 台山市| 农安县| 平潭县| 萨嘎县| 正蓝旗| 贡嘎县| 平昌县| 昭苏县| 都江堰市| 青川县|