• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    MSFlexGrid強制整行實現表頭排序(雙向)

    發布: 2007-5-25 09:19 | 作者: FieldMAX | 來源: programfan.com | 查看: 130次 | 進入軟件測試論壇討論

    領測軟件測試網 '********************************************
    'MSFlexGrid在強制整行選擇的情況下實現表頭排序
    '
    '功能:在單擊表頭時根據當前列進行排序,再次單
    '      擊反序排列。單擊數據區域時進行整行選擇
    '
    '2005-09-21 FieldMAX
    '********************************************

    Private Sub Form_Load()
    '創建一個8*8的MSFlexGrid并在其中填入隨機數
    Dim i As Long
    Dim j As Long
    MSFlexGrid1.Rows = 8
    MSFlexGrid1.Cols = 8
    MSFlexGrid1.FormatString = "|A|B|C|D|E|F|G"
    For i = 0 To 7
        MSFlexGrid1.ColWidth(i) = 615
    Next
    For i = 1 To 7
        MSFlexGrid1.TextMatrix(i, 0) = i
        For j = 1 To 7
            MSFlexGrid1.TextMatrix(i, j) = Int(Rnd * 1000)
            n = n + 1
        Next
    Next
    End Sub

    Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    '在MSFlexGrid的實際應用中經常需要強制整行選并且還需要排序功能,
    '但是由于MSFlexGrid本身的缺陷,在正常情況下是無法實現兩者兼得的。
    '唯一的變通方法就是使用MouseDown或MouseUp事件獨有的"X","Y"坐標來
    '確定點擊的列,再進行排序。
    '這個排序程序已經經過修改,可以實現升序和降序兩種排序同時存在。
        Dim i As Long
        Dim j As Long
        Dim Cw As Long
        '如果Y坐標點擊的是表頭區域
        If y < MSFlexGrid1.RowHeight(0) Then
            Cw = 0
        '用循環語句判斷X在那一列,I代表列數
            For i = 0 To MSFlexGrid1.Cols - 1
                Cw = Cw + MSFlexGrid1.ColWidth(i)
                If x < Cw Then Exit For
            Next
            If i < MSFlexGrid1.Cols Then
            '↑
                If Left(MSFlexGrid1.TextMatrix(0, i), 1) <> "↓" Then
                    For j = 0 To 7
                        If Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↓" Or Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↑" Then MSFlexGrid1.TextMatrix(0, j) = Mid(MSFlexGrid1.TextMatrix(0, j), 2)
                    Next
                    MSFlexGrid1.Col = i   '定位列坐標
                    MSFlexGrid1.Sort = 1    '進行升序排列
                    MSFlexGrid1.TextMatrix(0, i) = "↓" & MSFlexGrid1.TextMatrix(0, i)
                Else
                    For j = 0 To 7
                        If Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↓" Or Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↑" Then MSFlexGrid1.TextMatrix(0, j) = Mid(MSFlexGrid1.TextMatrix(0, j), 2)
                    Next
                    MSFlexGrid1.Col = i   '定位列坐標
                    MSFlexGrid1.Sort = 2    '進行升序排列
                    MSFlexGrid1.TextMatrix(0, i) = "↑" & MSFlexGrid1.TextMatrix(0, i)
                End If
            End If
        End If
    End Sub

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>