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

ËÃ×͵ԴµèÍà¢éÒÁÒ·Ò§ 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 6 6

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

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

µÒÃÒ§¡ÃÔ´ (MS Flex Grid) ¸ÃÃÁ´Ò ·ÕèäÁè¸ÃÃÁ´Ò ... VB 6.0

Category »  VB 6/VB.Net
â´Â : Webmaster àÁ×èÍ 9/11/2549 14:11:00
(ÍèÒ¹ : 48577) 

ÊÓËÃѺ§Ò¹â»Ãá¡ÃÁÁÔè§ Áѹ¤§à»ç¹§Ò¹·ÕèËÅÒµèÍËÅÒ¤¹ ÁͧÇèÒÁѹà»ç¹àÃ×èͧ¢Í§ à·¤â¹âÅ¡ÕÂì àÍê ෤â¹âÅÂÕ à»ç¹ËÅÑ¡«èÐÁÒ¡¡ÇèÒ áµèÊÓËÃѺÁØÁÁͧ¢Í§¼Á (áÅоǡª¹¡ÅØèÁ¹éÍÂæ ... Âѧæ¤ÃѺ ÂѧÁÕá¹ÇÃèÇÁÍÕ¡) ¡ÅѺÁͧÇèÒ Áѹà»ç¹àÃ×èͧ¢Í§ "¨Ô¹µ¹Ò¡ÒÃ" ÍÂèÒ§ÁÕÈÔŻР·ÕèáͺὧÁÒ (àÅç¡æ) ËÒ¡à»ÃÕºà·Õº¡Ñº¤Óä·Âæ ¡ç¤§äÁèµèҧ仨ҡ¡Ñº¤ÓÇèÒ "à»ç¹àÃ×èͧ¢Í§ÈÒʵÃì áÅÐ ÈÔÅ»ì" ÍÐäûÃÐÁÒ³¹Ñé¹áËÅФÃѺ ... ¾Õè¹éͧ

áËÁ ... Áѹ¡ç¤§¨ÐµéͧÁÕà赯 ÁռŠ¡Ñ¹¹Ñè¹áËÅÐ àÃÒÅͧÁÒ´ÙµÑÇÍÂèÒ§¡Ñ¹

µÒÃÒ§¡ÃÔ´ (Grid) à»ç¹ Control µÑÇÊӤѭÍÕ¡µÑÇ˹Öè§·Õè¨Óà»ç¹µéͧãªé§Ò¹ã¹ Visual Basic à»ç¹ÍÂèÒ§ÂÔè§ à¾×è͹ÓÁÒáÊ´§¼Å¢éÍÁÙÅ ËÒ¡ºÒ§·èÒ¹¹Ö¡äÁèÍÍ¡ ¡çÅͧ¹Ö¡¶Ö§ÀÒ¾¢Í§ Excel ¹Ñè¹ä§¤ÃѺ à¾ÃÒÐÁѹ¨ÐÁÕá¶Ç (Row) áÅÐ ËÅÑ¡ (Column) â´ÂÊèǹãË­è Grid ¨Ð¶Ù¡¹ÓÁÒãªéã¹àÃ×èͧ¢Í§°Ò¹¢éÍÁÙÅ áµè·ÇèÒ »Ñ­ËҢͧ Grid
(äÁè¹Ñº¾Ç¡·Õèà»ç¹ ADO Grid Bound Control ¨Ó¾Ç¡¹Õé "§èÒÂ" µèÍ¡Òô֧¢éÍÁÙÅÁÒáÊ´§¼Å áÅÐ á¡éä¢ä´é áµè "ÂÒ¡" µèÍ¡ÒäǺ¤ØÁ)
¡ç¤×ÍÇèÒ "ÁѹáÊ´§¼Åä´éÍÂèÒ§à´ÕÂÇ" «Ö觨ÐäÁèÊÒÁÒöà¢éÒä»á¡é䢢éÍÁÙŵèÒ§æ·ÕèÍÂÙèã¹ Cell ã´æä´éàÅ ... ¹ÕèáËÅФ×Í "»Ñ­ËÒ"
    "»Ñ­ËÒÁÒ »Ñ­­ÒÁÕ" ... Íѹ´Ñºáá "¨Ô¹µ¹Ò¡ÒÃ" ¡Ñ¹¡è͹ÅèÐ
  1. àÃÒÊÒÁÒöËÒµÓá˹觢ͧ Cell ä´éËÃ×ÍäÁèÇèÒÁѹÍÂÙè·Õè á¶Çã´ ËÅÑ¡ã´
  2. àÃÒÊÒÁÒöà¤Å×è͹ÂéÒ Cell µèÒ§æ ä´éËÃ×ÍäÁè ´éÇÂàÁÒÊì ¡Ð á»é¹¾ÔÁ¾ì ...

¼Å¨Ò¡¡Ò÷´Êͺ

' Code ·Õèãªé·´Êͺ
Private Sub fg_Click()
    MsgBox "á¶Ç·Õè " & fg.Row & " áÅÐ " & "ËÅÑ¡·Õè " & fg.Col & vbCrLf & "Left=" & fg.CellLeft & vbCrLf & "Top=" & fg.CellTop
End Sub

·ÓäÁàËÃͤÃѺ ... ÊÔè§·ÕèµéͧÁÒ¹Ñè§¹Ö¡¶Ö§¡ç¤×ÍàÃ×èͧ¢Í§ "¤Ø³ÊÁºÑµÔ - Properties" »ÃШӵÑǢͧ¾Ç¡ Control àËÅèÒ¹Õé䧤ÃѺ à¾ÃÒÐÁѹà»ç¹µÒÃÒ§¡ÃÔ´ «Öè§µéͧÁÕ¡ÒÃÍéÒ§ÍÔ§ã¹àÃ×èͧ¢Í§ Cell ÍÂÙèáÅéǹéҹ䧤ÃѺ¾Õè¹éͧ ´Ñ§¹Ñé¹àÃÒ¨Ö§¾Øè§à»éÒä»·Õè¡ÒÃà¤Å×è͹·Õè áÅÐ ËÒµÓá˹觢ͧã¹áµèÅÐ Cell ... áÅéÇËÒä»äÁ
ã¹¢³Ð·ÕèãªéÊÒµÒÍ͡Ẻ à¾è§àÅç§ ¡ÐäÍéà¨éÒ¤ÍÁ¾ÔÇàµÍÃìÍÂÙèà¹ÕèÂÐ ÁѹÂѧ¹Ö¡äÁèÍÍ¡ËÃÍ¡¤ÃѺ à¾Õ§áµèàËÅèä» àËÅèÁÒ áÅÐáÅéÇ (¹éͧ) ¿éÒ¡çàÁµµÒ »ÃÒ³Õ Áѹ¡çàžͨÐÁͧàËç¹ÍÐäÃæºÒ§ÍÂèÒ§ÅÒ§æáÅéǤÃѺ¾Õè¹éͧ ¡ÅèÒǤ×Í ¡ÒÃà¤Å×è͹·Õè¢Í§ Cell Áѹ¡çàÅ·ÓãËé¹Ö¡¶Ö§àÃ×èͧ "Method - ÇÔ¸Õ¡ÒÃ" ÍÂèҧ˹Öè§¢Öé¹ÁÒ ¹Ñ蹤×Í "Move" ¤ÃѺ¡ÃмÁ

àÁ×èÍÁÒ¶Ö§¨Ø´¹Õé»Ñêº ... ¡çµéͧ "¨Ô¹µ¹Ò¡ÒÃ" ¡Ñ¹ÍÕ¡µèÍä» ËÒ¡àÃÒàÅ×Í¡µÓáË¹è§ Cell ·ÕèàÃÒµéͧ¡ÒÃä´éáÅéǹÑé¹ áÅéÇÅͧàÅ×è͹µÓá˹觢ͧ TextBox à¢éÒä»»Ô´·Ñº ³ µÓá˹觹Ñé¹ à¾×èÍ»é͹¢éÍÁÙÅà¢éÒä» áÅÐàÁ×èÍ»é͹àÊÃç¨àÃÕºÃéÍ (à¡Ô´à˵ءÒóì Event - Change) ¡ç¨ÐµéͧºÑ§¤ÑºãËéÁѹä»à»ÅÕè¹á»Å§¤èÒ·ÕèÍÂÙèã¹ Cell ·ÕèàÃÒµéͧ¡ÒùÑé¹ ... ÁѹÁÕâÍ¡ÒÊ ËÃ×Í ¤Ô´ÇèÒ¨Ðà»ç¹ä»ä´éËÃ×ÍäÁè ???

¤ÓµÍº: à»ç¹ä»ä´é à¾ÃÒÐÇèÒ àÃÒÊÒÁÒö·Õè¨ÐãÊè¤èÒµèÒ§æÅ§ä»ã¹ Cell ä´éÍÂÙèáÅéǹÕè¹Ò ´éǤÓÊÑè§

    fg.TextMatrix(á¶Ç·Õèµéͧ¡ÒÃ, ËÅÑ¡·Õèµéͧ¡ÒÃ) = "¢éͤÇÒÁ" ËÃ×Í
    fg.Text = "¢éͤÇÒÁ"


¼Å¨Ò¡¡Ò÷ӧҹ¢Í§â»Ãá¡ÃÁ

´Ñ§¹Ñ鹡çàÃÔèÁµé¹Å§Á×Í·ÓµÒÁ·Õèä´é¨Ô¹µ¹Ò¡ÒÃàÍÒäÇé

 

Íѹ´ÑºááàÅ×Í¡ Component à¢éÒÁÒ¡è͹价Õè Project --> Components...


àÅ×Í¡ Components


Microsoft FlexGrid Control 6.0


    µèÍ仡ç·Ó¡ÒÃÅÒ¡ Control ÍÍ¡ÁÒ 2 µÑÇ »ÃСͺ´éÇÂ
  1. MS FlexGrid Control
  2. TextBox


    Properties ËÃ×Í ¤Ø³ÊÁºÑµÔ·ÕèÊӤѭÊÓËÃѺ Control áµèÅеÑÇ Áմѧ¹Õé¤×Í (Design-Time)
      MS FlexGrid
    1. Name: fg
    2. Fixed Rows: 1
    3. Fixed Cols: 0
    4. Rows: 2
    5. Cols: 4

      TextBox
    1. Name: Text1
    2. Text: Text1
    3. Visible: False µéͧ»Ô´¡ÒÃáÊ´§¼Å¡è͹¤ÃѺ¼Á

º··´Êͺ

¨Ò¡ÀÒ¾´éÒ¹º¹ÊØ´¹Ùé¹ ÊÁÁصÔÇèÒ¼Áµéͧ¡Ò÷Õè¨Ðá¡é䢤èÒµèÒ§æ ã¹ËÅÑ¡·Õè 3 à·èÒ¹Ñé¹ (ÃÒ¤Ò) ã¹á¶Çã´æ ¡çä´é ÊèǹËÅÑ¡Í×è¹æäÁèà¡ÕèÂÇáÅéǡѹ¤ÃѺ¼Á ...

àÃÔèÁµé¹¡Ãкǹ¡ÒÃâ¤é´â»Ãá¡ÃÁ

Event/Driven à˵ءÒóì¹ÕéáËÅФÃѺ ¤×Í ¡ÒáÓ˹´µÓá˹觢ͧ Cell ·ÕèàÃÒµéͧ¡ÒèÐà»ÅÕè¹á»Å§

Private Sub fg_EnterCell() ' ¾Ô¨ÒóҨҡà˵ءÒóì (Event) 㹡Òà Focus µÃ§µÓá˹è§ã¹ Cell
Select Case fg.Col ' àÅ×Í¡ Column ·Õèµéͧ¡ÒÃ
    Case 0, 1, 2: ' àÃÒäÁèä´é»é͹¢éÍÁÙÅã¹ËÅÑ¡·Õè 0, 1 áÅÐ 2
        Text1.Visible = False ' ¨Ö§µéͧÊÑè§ãËé»Ô´¡ÒÃÁͧàËç¹ Text1

    Case 3: ' âÍठ¶Ù¡µéͧ Cell ·Õè¡ÓÅѧ Focus ÁÒÍÂÙèËÅÑ¡·Õè 3 ¡çàÃÔèÁµé¹¡Ãкǹ¡Ò÷ӧҹä´é
        Text1.Visible = True ' à»Ô´ãËé Text1 ÁͧàËç¹ä´é
        Text1.Text = fg.Text ' ¤èÒà´ÔÁ·ÕèÍÂÙèã¹ Cell ¨Ð¶Ù¡Êè§µèÍä»ãËé Text1 à¾×èÍ·Ó¡ÒÃá¡é䢵èÍä»

        ' ¢Ñ鹵͹¹Õé¤×Í¡ÒÃàÅ×è͹µÓá˹觢ͧ Text1 ãËé价ѺÍÂÙ躹µÓá˹觢ͧ Cell (ËÅÑ¡·Õè¡Ó˹´) µÒÁ·ÕèàÃÒµéͧ¡ÒÃ
        ' ¡ÒÃà¤Å×è͹·Õè â´Â fg.Move µÓá˹觷ҧ«éÒÂ, µÓá˹觺¹, ¤ÇÒÁ¡ÇéÒ§¢Í§à«ÅÅì, ¤ÇÒÁÊÙ§¢Í§à«ÅÅì
        Text1.Move fg.CellLeft, fg.CellTop, fg.CellWidth, fg.CellHeight

        ' àÁ×èÍ Text1 à¤Å×è͹·Õè价ѺµÓáË¹è§ Cell ·ÕèàÃÒµéͧ¡ÒÃáÅéÇ ãËé Focus ä»·Õè Text1 à¾×èÍ·Õè¨ÐÊÒÁÒöá¡é䢢éÍÁÙÅŧ㹠TextBox ä´é
        Text1.SetFocus
End Select
End Sub

Private Sub Form_Load() ' ÁÒ·´Êͺ·Õè¿ÍÃìÁËÅÑ¡
Dim sRow As Byte, i As Byte
Call SetupGrid ' ÊÑè§µÑ駤èÒ FlexGrid
Text1.Text = "" ' à¤ÅÕÂÃì¤èÒã¹ TextBox
' à»ç¹¢éÍÁÙÅÊÁÁصԢÖé¹ÁÒà¾×èÍ·´Êͺ¤ÃѺ
For i = 0 To 4
    With fg
        sRow = .Rows - 1 ' à¹×èͧ¨Ò¡á¶Ç·Õè¡Ó˹´ (Rows) ÁÕÍÂÙè 2 á¶Ç â´Âá¶Çº¹ÊØ´ ¤×Í á¶Ç 0 ¨Ðà»ç¹ Header Êèǹá¶ÇàÃÔèÁµé¹·ÕèµéͧàÃÔèÁãÊè¤èÒà¢éÒ令×Íá¶Ç·Õè 1 (1 = 2 - 1)
        .TextMatrix(sRow, 0) = "ÃËÑÊÊÔ¹¤éÒ " & i + 1
        .TextMatrix(sRow, 1) = "ª×èÍÊÔ¹¤éÒ " & i + 10
        .TextMatrix(sRow, 2) = "ÂÕèËéÍ " & i + 20
        .TextMatrix(sRow, 3) = Format(i + 30, "#,##0.00")
        .Rows = .Rows + 1 ' à¾ÔèÁ¤èÒá¶Ç·Ñé§ËÁ´¢Öé¹ä»ÍÕ¡ 1
    End With
Next
fg.Rows = fg.Rows - 1 ' ¤èҢͧá¶ÇÁѹ¨Ðà¡Ô¹ä» 1 à·èÒ¹Ñé¹àͧ ... Åͧá¡éâ¤é´´éÒ¹º¹´ÙáÅéǡѹ ÍÔÍÔ
End Sub

Sub SetupGrid() ' µÑ駤èÒµèÒ§æ¢Í§ FlexGrid
With fg
    .Clear ' ÊÑè§ Clear FlexGrid
    .Cols = 4 ' ¡ÒáÓ˹´ã¹ÃٻẺ¢Í§ Run Time ÎѺ¼Á
    .TextMatrix(0, 0) = "ÃËÑÊÊÔ¹¤éÒ"
    .TextMatrix(0, 1) = "ª×èÍÊÔ¹¤éÒ"
    .TextMatrix(0, 2) = "ÂÕèËéÍ"
    .TextMatrix(0, 3) = "ÃÒ¤Ò"
    .ColWidth(0) = 1200
    .ColWidth(1) = 3200
    .ColWidth(2) = 1000
    .ColWidth(3) = 1250
End With
End Sub

Private Sub Text1_Change() 
    ' àÁ×èÍ Text1 à¡Ô´¡ÒÃà»ÅÕè¹á»Å§ ¡ç¨ÐÊ觤èÒãËé¡Ñº Cell ·ÕèàÃÒµéͧ¡ÒôéÇ áµè ³ ¢³Ð¹ÕéàÃÒÂѧÁͧäÁèàËç¹ËÃÍ¡¤ÃѺ à¾ÃÒÐ Text1 Áѹ·Ñº Cell äÇéÍÂÙè -- ÊÓÁФѭ¹èеÑǹÕé
    fg.Text = Format(Text1.Text, "#,##0.00")
End Sub

 

à»ç¹ÍÂèÒ§äúéÒ§¤ÃѺ ¾Í¨ÐÁͧàËç¹·Ò§ÊÇèÒ§ (ÃÓäÃæ) ºéÒ§¹èФÃѺ ¡ÒûÃÐÂØ¡µìãªé§Ò¹¡çÁÕËÅÒ¡ËÅÒ µÑÇÍÂèÒ§àªè¹ ãºÃÒ¡ÒÃÊÑè§«×éÍ ãºàʹÍÃÒ¤Ò áººÊͺ¶ÒÁ ËÃ×Í ¨ÐàÍÒ ComboBox ÁÒãÊè àÍÒ DTPicker ÁÒá»Ðŧ (¢éÍÁÙÅà¾ÔèÁàµÔÁ ... ·Õè¹Õè) ÍÐäûÃÐÁÒ³¹ÕéáËÅÐ ¨Ò¡¹Ñ鹡ç¹Ó¢éÍÁÙÅ·ÕèÍÂÙè㹡ÃÔ´ àÍÒà¢éÒä»à¡çºÅ§ã¹°Ò¹¢éÍÁÙÅä´éÍÂèҧʺÒÂæ á¶ÁÍӹǤÇÒÁÊдǡãËéá¡è¼Ùéãªé§Ò¹ä´éÍÕ¡µÐËÒ¡ àÎéÍ ... á¤è¤Ô´¡çÁѹÊìáÅéÇ

º·ÊÃØ»

¨Ø´àÃÔèÁµé¹¢Í§§Ò¹ªÔé¹¹ÕéÁѹà¡Ô´¢Öé¹ÁÒ¨Ò¡ "¨Ô¹µ¹Ò¡ÒÃ" áÅéǹÓÁÒ¼ÊÁ¼ÊÒ¹à¢éҡѺ "¤ÇÒÁÃÙé×é¾×é¹°Ò¹¢Í§ Visual Basic" à¾×èÍÁÒãªé§Ò¹
  • Control ËÃ×Í Object
  • Properties - ¤Ø³ÊÁºÑµÔ»ÃШӵÑǢͧ Control ËÃ×Í Object
  • Method - ÇÔ¸Õ¡Òà àªè¹ ¡ÒÃà¤Å×è͹·Õè (Move) ¹ÕèáËÅФÃѺ
  • Event - Driven à¡Ô´à˵ءÒóìÍÐäâÖé¹ÁÒ áÅéǨÐãËéÁѹ价ÓÍÐäÃÅèÐ ...
  • áÅéǨÐÃÙéä´éä§ÅèÐà¹ÕèÂÐ ???
  •  


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