ËÒ¡ÁÕ¤Ó¶ÒÁ ¢ÍãËéä»â¾Êµìŧ àÇ纺ÍÃì´¨Õ·Ù¨Õà¹çµ´Íµ¤ÍÁ µÑÇãËÁèá·¹¹èФÃѺ

ËÃ×͵ԴµèÍà¢éÒÁÒ·Ò§ Inbox ·Õè à¿«ºØê¤ ¼Á¤ÃѺ

˹éÒËÅÑ¡
¢èÒÇÊÒà - º·¤ÇÒÁ ·Ñé§ËÁ´
VB 6/VB.Net
ASP/ASP.Net
¨Ñº©èÒ¤ÍÁ¾ÔÇàµÍÃì
àÃÕ¹ÃÙé¼èÒ¹ Flash Movie
º·¤ÇÒÁ·ÕèÁÕ¼ÙéµÍºÅèÒÊØ´  
 RSS Feeds
 ´ÒǹìâËÅ´â»Ãá¡ÃÁ RSS Reader ä´é·Õè¹Õè ...   Download â»Ãá¡ÃÁ RSS Reader

Forum - www.g2gnet.com
Webmaster - www.g2gnet.com
Visitors - Session views
 5 6 1 6 1 3 5

7 ¸Ñ¹ÇÒ¤Á ¾.È.2549
90 Users On-Line.
Visitors - Page views
 8 9 7 3 8 7 8
1 ¡ØÁÀҾѹ¸ì ¾.È.2551

Google   
àÇçº g2gnet.com
¢¹Ò´µÑÇÍÑ¡ÉÃ:  

µÒÃÒ§¡ÃÔ´ (MS Flex Grid) ¸ÃÃÁ´Ò ·ÕèäÁè¸ÃÃÁ´Ò ... µÍ¹¡ÒèѴàÃÕ§¢éÍÁÙÅ㹡ÒÃáÊ´§¼ÅãËé MS FlexGrid

Category »  VB 6/VB.Net
â´Â : Webmaster àÁ×èÍ 20/3/2552   àÇÅÒ: 01:09
(ÍèÒ¹ : 19799) 
¨Ò¡µÍ¹·ÕèáÅéǢͧàÃ×èͧ µÒÃÒ§¡ÃÔ´ (MS Flex Grid) ¸ÃÃÁ´Ò ·ÕèäÁè¸ÃÃÁ´Ò ... Áҵ͹¹Õé¡çà»ç¹àÃ×èͧ¢Í§ "¨Ô¹µ¹Ò¡ÒÃ" ÍÕ¡àªè¹à¤Â ¡çµÒÁËÑÇ¢éÍàŤÃѺ¾Õè¹éͧ ... ¡ÒèѴàÃÕ§¢éÍÁÙÅã¹µÒÃÒ§¡ÃÔ´ ´Ñ§¹Ñé¹»ÃÐà´ç¹¹ÕéàÃÒ¡ç¨ÐÁͧ件֧¡ÒäÅÔê¡àÁÒÊì«éÒº¹ Header ¹Ñ蹡ç¤×Íà¡Ô´¡Òà Sort (á»ÅÇèÒàÃÕ§) Method (á»ÅÇèÒÇÔ¸Õ) ã¹áµèÅÐËÅÑ¡ (Column) â´ÂËÒ¡¤ÅÔꡤÃÑé§áá¡çãËé¨Ñ´àÃÕ§¨Ò¡¹éÍÂä»ËÒÁÒ¡ ¾Í¤ÅÔê¡ÍÕ¡¤ÃÑé§¡çãËéàÃÕ§¨Ò¡ÁÒ¡ä»ËÒ¹éÍ ÅѡɳйÕé¡Ò÷ӧҹẺ¹ÕéàÃÒàÃÕ¡ÇèÒ Toggle ËÃ×Í ÊÅѺ¡Ò÷ӧҹ¹Ñè¹àͧ¤ÃѺ ... ¾Õè¹éͧ ... ¼Áà¢Õ¹â¤é´¹ÕéàÍÒäÇéãªé§Ò¹àͧàÁ×èÍÃÒÇæ 10 »Õ·ÕèáÅéÇ áµè»Ñ¨¨ØºÑ¹¡çÂѧ¹ÓÁÒãªé㹡ÒöèÒ·ʹ¤ÇÒÁÃÙé »ÃÐʺ¡Òóì ãËé¡Ñºà´ç¡ÃØè¹ãËÁèæä´éÍÂèҧʺÒÂàÅ ... áËÅйÕè¡ç¤×Í ¡Ãкǹ¡ÒäԴ-ÇÔ¸Õ¤Ô´ 㹡ÒÃá¡é»Ñ­ËÒÍա˹Öè§µÑÇÍÂèÒ§ ... áÅÐãªé§Ò¹ä´é¨ÃÔ§æ
¡Ãкǹ¡ÒäԴ ...
  • à¡Ô´à˵ءÒóì MouseDown ËÃ×Í ¤ÅÔê¡àÁÒÊì«éÒÂŧ价Õè MS FlexGrid
  • µÃǨÊͺÇèÒà»ç¹¡ÒäÅÔê¡Å§ä»·Õè Column Header ËÃ×ÍäÁè ... ´éÇÂá¹Ç¤Ô´µ×鹿 ¤×Í ËÒ¡¤ÅÔê¡á¶Çã´á¶Ç˹Öè§¡çµÒÁ ¾Ô¡Ñ´ y (á¹ÇµÑé§) µéͧäÁèà¡Ô¹¤ÇÒÁÊÙ§¢Í§á¶Çáá ¹Ñè¹áËÅФ×Í¡ÒäÅÔê¡àÅ×Í¡ Header ... 55555+
  • ÃкØËÅÑ¡·Õèà¡Ô´¡ÒäÅÔê¡àÁÒÊì ... à¾×èÍãËéÊÒÁÒö¨Ñ´àÃÕ§ä´éµÃ§ËÅÑ¡·Õèµéͧ¡ÒÃ
  • µÃǨÊͺÇèÒà»ç¹¡ÒäÅÔê¡áººã´ ... áÅÐãªé Sort Method (ÇÔ¸Õ¡ÒÃ) à¢éÒªèÇÂ㹡ÒèѴàÃÕ§ áÅÐ ÊÅѺ¡Ò÷ӧҹ
    • SortOrder = 1 ¤×Í ¡ÒèѴàÃÕ§¨Ò¡¹éÍÂä»ËÒÁÒ¡ (Ascending)
    • SortOrder = 2 ¤×Í ¡ÒèѴàÃÕ§¨Ò¡ÁÒ¡ä»ËÒ¹éÍ (Descending)
´ÒǹìâËÅ´
´ÒǹìâËÅ´ Source Code ÊÓËÃѺ MS Visual Basic 6.0 - Service Pack 6
 ´ÒǹìâËÅ´ Visual Basic 6.0 SP5: Run-Time Redistribution Pack
 ´ÒǹìâËÅ´ Microsoft Data Access Object (MDAC) áÅÐ Jet 4.0 Update
 ´ÒǹìâËÅ´ Microsoft Visual Basic Service Pack 6
¢éÍÁÙÅà¾ÔèÁàµÔÁ
µÒÃÒ§¡ÃÔ´ (MS Flex Grid) ¸ÃÃÁ´Ò ·ÕèäÁè¸ÃÃÁ´Ò ... VB 6.0
¡ÒÃÍèÒ¹¢éÍÁÙÅẺ Text File à¢éÒÊÙè MS FlexGrid ´éÇ MS Visual Basic 6.0
µÒÃÒ§¡ÃÔ´ (MS Flex Grid) ¸ÃÃÁ´Ò ·ÕèäÁè¸ÃÃÁ´Ò ... µÍ¹ãªé Wheel Mouse ã¹ MS FlexGrid
µÒÃÒ§¡ÃÔ´ (MS Flex Grid) ¸ÃÃÁ´Ò ·ÕèäÁè¸ÃÃÁ´Ò ... µÍ¹ MS FlexGrid ÊØ´ÁËÑȨÃÃÂìËÃÃÉÒ
àÃÔèÁµé¹¡Ãкǹ¡Ò÷ӧҹ

Projects --> Component ...


Design Time


Run Time
ÁÒ´Ùâ¤é´¡Ñ¹à¶ÍÐ ...

Option Explicit

' µÑÇá»Ãà¡çº¤èÒ㹡ÒèѴàÃÕ§¢éÍÁÙÅ
' SortOrder = 1 ¤×Í ¡ÒèѴàÃÕ§¨Ò¡¹éÍÂä»ËÒÁÒ¡ (Ascending)
' SortOrder = 2 ¤×Í ¡ÒèѴàÃÕ§¨Ò¡ÁÒ¡ä»ËÒ¹éÍ (Descending)
Dim SortOrder As Byte

Private Sub Form_Load()
    Me.Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2
    Call SetupfgData
    Call DisplayfgData
    
    ' ¡Ó˹´¤èÒàÃÔèÁµé¹
    SortOrder = 0
End Sub

' µÑ駤èҤسÊÁºÑµÔ (Properties) µèÒ§æãËé¡Ñº MS FlexGrid Ẻ Run - Time
Sub SetupfgData()
    With fgData
        .Clear
        ' ÁÕ Header 1 á¶Ç
        .FixedRows = 1
        .FixedCols = 0
        ' ãËéᶺáʧÂÒǵÒÁá¹Ç¹Í¹¢Í§áµèÅÐá¶Ç
        .SelectionMode = flexSelectionByRow
        ' µÑ駤èÒ¤ÇÒÁÊÙ§µèÓÊØ´¢Í§áµèÅÐá¶Ç
        .RowHeightMin = 285
        ' äÁèÂÍÁãËé¼Ùéãªé¤ÅÔê¡ÂèÍ - ¢ÂÒ¤ÇÒÁ¡ÇéÒ§¢Í§áµèÅÐËÅÑ¡
        .AllowUserResizing = flexResizeNone
        
        ' ¡Ó˹´ 5 ËÅÑ¡
        .Cols = 5
        ' ¡Ó˹´ 1 á¶Ç (ÊÓËÃѺ Header)
        .Rows = 1
        
        ' ¡Ó˹´ Header
        .TextMatrix(0, 0) = "ProductPK" ' »¡µÔàÃÒ¤Çëè͹ Primary Key äÇé·ÕèËÅÑ¡ 0 - DataBase
        .TextMatrix(0, 1) = "ÅӴѺ·Õè"
        .TextMatrix(0, 2) = "ÃËÑÊÊÔ¹¤éÒ"
        .TextMatrix(0, 3) = "Çѹ·ÕèÃѺÊÔ¹¤éÒ"
        .TextMatrix(0, 4) = "ÃÒ¤Ò"
        
        ' ãËéËÅÑ¡·Õè 2 (ÃËÑÊÊÔ¹¤éÒ) áÊ´§µÓá˹觪Դ«éÒÂ
        .ColAlignment(2) = vbLeftJustify
        
        .ColWidth(0) = 0
        .ColWidth(1) = 650
        .ColWidth(2) = 1400
        .ColWidth(3) = 2200
        .ColWidth(4) = 2150
    End With
End Sub

' ãÊè¢éÍÁÙŵÑÇÍÂèҧŧä»ã¹ MS FlexGrid
Sub DisplayfgData()
Dim i As Integer
    
    fgData.Rows = 6
    For i = 1 To 5
        With fgData
            .TextMatrix(i, 0) = i
            .TextMatrix(i, 1) = i
            .TextMatrix(i, 2) = Right$("0000000" & i, 7)
            .TextMatrix(i, 3) = FormatDateTime(Now() + i, vbShortDate)
            .TextMatrix(i, 4) = 6 - i
        End With
    Next
    
' Íѹ¹Õé¼Áਵ¹ÒãÊèÃÒ¡ÒÃÁÒÁÑèÇàͧ à¾×èÍãËéàË繼Ţͧ¡ÒèѴàÃÕ§ä´éÍÂèÒ§ªÑ´à¨¹
fgData.TextMatrix(2, 3) = "05/02/52"
fgData.TextMatrix(3, 4) = 9
End Sub

' à˵ءÒóìÊӤѭ ... àÁ×èͤÅÔê¡àÁÒÊì«éÒÂŧº¹ MS FlexGrid
Private Sub fgData_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
      
    ' ¡Ãкǹ¡ÒÃá¹Ç¤Ô´áººµ×鹿 ... ÊÐÍ×é¹·Ãǧ ... 55555+ ... ÍÂÒ¡ÃÙéÇèÒ¼Ùéãªé¤ÅÔê¡·Õè Header ËÃ×ÍäÁè ?????
    ' µÃǨÊͺµÓá˹觢ͧàÁÒÊì·ÕèªÕéä»á¡¹ y ¨ÐµéͧÁÕ¤èÒ¹éÍ¡ÇèÒ¤ÇÒÁÊÙ§¢Í§á¶Çáá (Header)
    ' ¹Ñ蹡ç¤×Í ... ¼Ùéãªé¤ÅÔê¡àÅ×Í¡ Header Âѧä§ÅèФÃѺ ... ¾Õè¹éͧ ... äÁèàË繨ÐÂÒ¡àÅÂ
    ' Debug.Print "¤ÇÒÁÊÙ§á¶Çáá = " & fgData.RowHeight(0) & vbCrLf & "¾Ô¡Ñ´ y = " & y
    If y < fgData.RowHeight(0) Then
        
        ' ÃкØËÅÑ¡·Õèãªé㹡ÒèѴàÃÕ§¢éÍÁÙÅ
        fgData.Col = fgData.MouseCol
    
        ' ä»â»Ãá¡ÃÁÂèÍÂ㹡ÒèѴàÃÕ§¢éÍÁÙÅãËÁè
        Call SortGrid
        
    End If

End Sub

Private Sub SortGrid()
    ' ÅѡɳТͧ¡Òà Toggle ËÃ×Í ¡Ò÷ӧҹÊÅѺä»ÁÒ
    ' 1 = ¡ÒèѴàÃÕ§¨Ò¡¹éÍÂä»ËÒÁÒ¡ (Ascending - ASC)
    ' 2 = ¡ÒèѴàÃÕ§¨Ò¡ÁÒ¡ä»ËÒ¹éÍ (Descending - DESC)

    ' ËÒ¡à¤Â¨Ñ´àÃÕ§¨Ò¡ÁÒ¡ä»ËÒ¹éÍ (SortOrder = 2) ...
    ' µéͧŴ¤èÒŧ 1 à¾×èÍÊÅѺ¡ÒÃàÃÕ§¨Ò¡¹éÍÂä»ËÒÁÒ¡ ËÃ×Í SortOrder = 1
    If SortOrder = 2 Then
        SortOrder = SortOrder - 1
    ' ËÒ¡äÁèãªè 2 áÊ´§ÇèÒ¤èÒ SortOrder à»ç¹ 0 ËÃ×Í 1 ... 
    ' ËÒ¡à»ç¹ 0 ¡çºÇ¡à¢éÒä»ÍÕ¡ 1 ¡ç¨Ðä´é 1 «Öè§à»ç¹¡ÒÃàÃÕ§Ẻ¹éÍÂä»ËÒÁÒ¡
    ' ËÒ¡à»ç¹ 1 ¡çºÇ¡à¢éÒä»ÍÕ¡ 1 ¡ç¨Ðä´é 2 «Öè§à»ç¹¡ÒÃàÃÕ§ẺÁÒ¡ä»ËÒ¹éÍÂ
    Else
        SortOrder = SortOrder + 1
    End If
    
    ' ¨Ñ´àÃÕ§¤èÒµÒÁËÅÑ¡·Õè¡Ó˹´
    fgData.Sort = SortOrder
    
    ' ãËéàáÊ´§á¶ºáʧã¹á¶Çááº¹ÊØ´
    SendKeys "{DOWN}"
    fgData.Col = 0
    fgData.Row = 0
    fgData.RowSel = 0
End Sub
Conclusion:
¡ÒÃàÃÕ¹ÃÙé·Ò§´éÒ¹¤ÍÁ¾ÔÇàµÍÃì ËÃ×Í à·¤â¹âÅÂÕ ãËéä´é¼Å´Õ ... ¤Ø³µéͧà»ç¹¤¹ã¤ÃèÍÂÒ¡ÃÙé ÍÂÒ¡àËç¹ áÅÐ ÍÂÒ¡ÈÖ¡ÉÒ (¨¹ã¨¨Ð¢Ò´Ã͹æ) ãËéä´é¡è͹ ... ËÅѧ¨Ò¡¹Ñé¹µéͧÊÃéÒ§¨Ô¹µ¹Ò¡Òà ¹ÓÊÔè§·Õè¤Ô´ ·ÕèÁѹÅèͧÅÍÂÍÂÙè¡ÅÒ§ÍÒ¡ÒÈ ¨Ñºµéͧ¡çäÁèä´é áÅéǹÓÁѹÁÒ»Ñé¹ÍÍ¡ÁÒà»ç¹ªÔé¹§Ò¹ à¾×èÍãËéÊÒÁÒöÅÙº¤ÅÓ áÅÐáµÐµéͧÊÑÁ¼ÑÊä´é ...

¨Õ ·Ù ¨Õ à¹çµ ´Íµ ¤ÍÁ - g2gNet Dot Com
àÅ¢·ÐàºÕ¹¾Ò³ÔªÂìÍÔàÅç¡·Ã͹ԡÊì 0407314800231
CopyLeft © 2004 - 2099 g2gNet.Com All rights reserved.
Email: [email protected] ËÃ×Í â·Ã. 08-6862-6560