VB=>next

Oct 09

Hierachical FlexGrid

หัวข้อพิเศษไอที, VB 6.0 No Comments »

Hierarchical Flexgrid เป็นตัว control แบบตารางอีกตัว ที่อยู่ใน Visual Basic 6 มีแตกต่างจาก DataGrid คือ Hierarchical Flexgrid สามารถรวมคอนฟิกเซลล์ที่อยู่ต่างแถวกัน ถ้ามีค่าเดียวกัน ตัว control มีความสามารถนี้ เมื่อกำหนด Hierarchical ADO Recordset ให้กับคุณสมบัติ DataSource เพราะสามารถแสดงเป็นหลายแถบ โดยแต่ละแถบเป็นกลุ่มคอลัมน์ขอ้มูลที่มาจาก Recordset ลูกที่ต่างกันในโครงสร้างสำคัญขั้นของข้อมูล แต่เป็นตัว control แบบอ่านอย่างเดียว 

Note: Hierarchical Flexgrid มีคำสั่งมีสอดคล้องกับ Flexgrid ซึ่งไม่สนับสนุน ADO Data control และ data source แต่ Hierarchical Flexgrid นำมาใช้แทน Flexgrid 

Hierarchical Flexgrid รวมอยู่ ในไฟล์ MSHFLXGD.OCX ซึ่งต้องการกระจายไปกับโปรแกรมประยุกต์ ที่ใช้ตัว control นี้ 

การตั้งค่าคุณสมบัติเมื่อออกแบบ 

เพื่อสร้าง Hierarchical Flexgrid และรวมข้อมูลแล้ว จะสามารถคลิกเมาส์มุ่มขวาบนตัว control เละเลือก คำสั่ง Retrieve Structure ซึ่งเติมตารางด้วยส่วนหัวคอลัมน์อ้างถึงฟิลด์ที่ต่างในแหล่งข้อมูล แต่ไม่มีคำสั่ง Edit ทำให้ไม่สามารถใช้เมาส์ปรับปรุงและความกว้างคอลัมน์ เมื่อออกแบบ 

แท็บ General 

ในแท็บ General ให้กำหนดค่าของคุณสมบัติ Rows และ Cols เพื่อหาจำนวนคอลัมน์ และแถวบนตาราง เมื่อ DataSource ยังไม่ที่แหล่งข้อมูล ADO โดยทั่วไปมิติของตาราง ขึ้นกับจำนวนเรคคอร์ดและฟิลด์ในแหล่งข้อมูล คุณสมบัติ FixedRow และ FixedCol แสดง จำนวน แถวและคอลัมน์ที่ต้องไว้ ที่ด้านซ้ายและด้านขวาของตารางถ้าคุณสมบัติ AllowBigSection เป็น True การคลิกส่วนหัวของแถวหรือคอลัมน์จะเป็นการเลือกทั้งแถวหรือคอลัมน์
คุณสมบัติ Highlight มีผลต่อลักษณะภายนอกของเซลล์ที่เลือก ที่ค่าใช้ คือ 0-flexHighlightNever (ไม่มีไฮไลต์) 1-flexHighlightAlways (ไฮไลต์เซลล์ที่เลือกตลอดเวลา) และ 2-flexHighlightWithFocus (ไฮไลต์เซลล์เมื่อได้รับโฟกัส) คุณสมบัติ FocusRect แสดงลักษณะของรอบเซลล์ปัจจุบัน 

คุณสมบัติ BandDisplay สามารถเปลี่ยน การแสดงลักษณะ band คุณสมบัติ FillStyle มีผลต่อวิธีการเปลี่ยนต่อคุณสมบัติ Text มีรูปแบบ คือ 0-flexFillSingle (เฉพาะเซลล์ปัจจุบัน) 1-flexFillRepeat (เซลล์ที่เลือกทั้งหมด) คุณสมบัติ SelectionMode สำหรับวิธีการเลือกเฉพาะเซลล์ บังคับเลือกทั้งแถวหรือคอลัมน์ 

คุณสมบัติ AllowUserResize กำหนดวิธีการที่ให้ผู้ใช้ปรับขนาดแถว หรือคอลัมน์ด้วยเมาส์ ตามค่าดังนี้ 0-flexResizeNone (ไม่ให้ปรับขนาด) 1-flexResizeColumn (ปรับได้เฉพาะคอลัมน์) 2-flexResizeRows (ปรับได้เฉพาะแถว) หรือ 3-flexResizeBoth (ปรับได้ทั้ง 2 แถว) การจำกัดผลการปรับขนาดแถวสามารถใช้คุณสมบัติ RowSizingMode สามารถเป็น 0-flexRowSizeIndividual (เฉพาะแถวที่ปรับขนาด และเป็นค่าเริ่มต้น) และ 1-flexRowSizeAll (แถวทั้งหมดได้รับการปรับขนาด) 

แท็บ Bands 

แท็บ Bands เป็นแท็บที่สำคัญซึ่งเกี่ยวข้องกับการเลือกฟิลด์ใน Recordset แม่และลูกให้มองเห็นได้ในตาราง ตามปกติมักจะมีการซ่อนที่ฟิลด์ numeric key ที่ไม่สื่อความหมายกับผู้ใช้ และการซ้ำ foreign key
แท็บ Bands ยอมให้ตั้งค่าคุณลักษณะของ band ในฟิลด์ GridLines สามารถเลือกประเภทเส้นที่ลากระหว่าง band ปัจจุบันกับ band ต่อไป ค่าที่ตรงกับคุณสมบัติ GridLinesBand สามารถเป็นค่า 0-flexGridNone, 1-flexGridFlat (ค่าเริ่มต้น) 2-flexGridInset, 3-flexGridRaised, 4-flexGridDashes หรือ 5-flexGridDots
รูปแบบข้อความสามารถเลือกรูปแบบเป็น 3 มิติ ในการแสดงข้อความบน band ตามค่าในคุณสมบัติ TextStyleBand คุณสมบัติ BandIndent ใช้ตั้งค่าจำนวนคอลัมน์ของ band ที่มีการย่อหน้า คุณสมบัติBandExpandable ระบุว่า band สามารถขยาย หรือรวม จากเครื่องหมายบวก หรือลบที่จะแสดงในคอลัมน์แรก คุณสมบัติ ColumnHeader สำหรับการแสดงชื่อคอลัมน์เหนือ band 

แท็บอื่น ๆ 

แท็บ Style ยินยอมให้ตั้งคุณสมบัติที่มีผลกับลักษณะภายนอกของตาราง คุณสมบัติ Gridlines fixed ตรงกับรูปแบบของเส้นตาราง คุณสมบัติ TextStyleFixed แสดงข้อความ 3 มิติ แถวและคอลัมน์ที่ตรึง
คุณสมบัติ RowHeightMin เป็นค่าความสูงน้อยที่สุดของแถว ใน twips คุณสมบัติ GridLinesUnpopulated มีผลกับรูปแบบของเซลล์ที่ไม่เก็บค่า 

การกำหนดเมื่อเรียกใช้ 

Hierarchical Flexgrid มีคุณสมบัติประมาณ 160 คุณสมบัติ ส่วนใหญ่เกี่ยวกับลักษณะภายนอก แต่มีคุณสมบัติ เมธอด และ event ที่สำคัญและใช้ประโยชน์ได้มาก 

การทำงานกับเซลล์ปัจจุบัน 

คุณสมบัติเรียกใช้ที่สำคัญ ของ Hierarchical Flexgrid คือ Row, Col และ Text ซึ่งตั้งค่าและส่งออกพิกัด และข้อมูลของเซลล์ปัจจุบัน คำสั่งในโปรแกรมที่ทำงานกับตัว control ทีสามารถเปลี่ยนข้อมูลของเซลล์ แต่ค่าใหม่จะไม่เก็บลงในฐานข้อมูล เนื่องจากเป็นตัว control แบบอ่านอย่างเดียว 

ตัว control มีคุณสมบัติแบบอย่างเดียว สำหรับการส่งออกสารสนเทศของเซลล์ปัจจุบัน เช่น การหาประเภทของเซลล์ปัจจุบันโดยการค้นหาคุณสมบัติ CellType
Hierarchical Flexgrid ต่างจาก DataGrid โดยยินยอมให้ทำงานกับลักษณะภายนอกของเซลล์ผ่านคุณสมบัติ เช่น CellBackColor, CellForeColor, CellFontName เป็นต้น 

Private Sub MSHFlexGrid1_DblClick()
   If MSHFlexGrid1.CellBackColor = vbWindowBackGround Then
      ’ ไฮไลต์เซลล์ ด้วยตัวอักษรขาวบนพื้นหลังสีน้ำเงิน
      MSHFlexGrid1.CellBackColor = vbBlue
      MSHFlexGrid1.CellForeColor = vbWhite
   Else
      ’ ฟื้นสีตามค่าเริ่มต้น
      MSHFlexGrid1.CellBackColor = vbWindowBackGround
      MSHFlexGrid1.CellForeColor = vbWindowText
   End If
End Sub 

การเข้าถึงเซลล์อื่น 

ถ้าคุณสมบัติ FillStyle ตั้งค่าเป็น 1-flexFillRepeat ซึ่งมีผลต่อคุณสมบัติอื่นในช่วงการเลือกเซลล์ รวมถึงคุณสมบัติ CellPicture, CellPictureAlignment และคุณสมบัติ CellFontXXXX ทำให้มีวิธีการเปลี่ยนรูปแบบของกลุ่มเซลล์ โดยการกำหนดค่าคุณสมบัติที่เหมือนกันจากการกำหนดในเซลล์เดียว
การใช้ความสามารถที่มีผลต่อหลายเซลล์ ด้วยการกำหนดในเซลล์เดียว ต้องใช้คุณสมบัติ RowSel และ ColSel เพื่อทราบถึงพิกัดของช่วงการเลือกปัจจุบัน คุณสมบัตินี้ส่งออกแถวและคอลัมน์ที่มุมหนึ่งของพื้นที่สี่เหลี่ยมที่เลือก เซลล์ที่อยู่มุมตรงข้ามจะเป็นเซลล์ที่แอ็คทีฟ และได้รับการชี้โดยคุณสมบัติ Row และ Col 

Dim total As Double, r As Long, c As Long
Dim rowMin As Long, rowMax As Long
Dim colMin As Long, colMax As Long 

If MSHFlexGrid1.Row

Oct 09

DataGrid

หัวข้อพิเศษไอที, VB 6.0 No Comments »

DataGrid เป็นตัว control ที่แสดงข้อมูลจาก table ของฐานข้อมูลในรูปตาราง และทำงานกับ ADO Data control โดย DataGrid รวมอยู่ในไฟล์ MSDATGRD.ocx ซึ่งต้องกระจายไปกับโปรแกรมประยุกต์ที่ใช้ 

การตั้งค่าคุณสมบัติ เมื่อออกแบบ 

DataGrid สามารถทำงานได้เฉพาะ การรวมกับ data source ในเวลาออกแบบได้แก่ ADO data control ส่วน data source ในเวลาเรียกใช้ ได้แก่ ADO Recordset หรือ instance ของ class ที่กำหนด การทำงานกับ data source ในเวลาออกแบบ มีความสะดวกเพราะสามารถดึงโครงสร้างฟิลด์และจัดความกว้างคอลัมน์ รวมถึงคุณลักษณะ ที่มองเห็นได้ โดยไม่ต้องใช้คำสั่ง 

Note: การรวมตัว Control ที่ซับซ้อน เช่น DataGrid และ Hierarchical FlexGrid สามารถรวมได้เฉพาะ Recordset ที่มาจาก cursor ชนิด static หรือ keyset 

การแก้ไขผังคอลัมน์ 

หลังจากที่รวม DataGrid กับ ADO data control หรือ อ๊อบเจค Command ของ DataEnvironment ผ่านคุณสมบัติ DataSource ของ DataGrid แล้วให้คลิกเมาส์มุ่มขวาบนตัว control แล้วเลือกคำสั่ง Retrieve Field เพื่อเตรียมปรับผังคอลัมน์ด้วยดึง caption และ ความกว้างของแต่ละคอลัมน์โดยตรงจากฐานข้อมูล และสามารถคลิกเมาส์บนตัว control อีกครั้งแล้วเลือกคำสั่ง Edit ซึ่งจะนำตารางเข้าสู่โหมด Edit ในโหมด Edit ให้ทำการปรับความกว้าง เลื่อนตารางตามแนวนอนด้วยแถบเลื่อนด้านล่าง และคลิกเมาส์มุ่มขวาบนตัว control เพื่อแสดงเมนู ของคำสั่ง ในคำสั่งนี้จะยอมให้เพิ่มหรือยกเลิกคอลัมน์ แบ่งตารางเป็นส่วนย่อย ๆ ติดหรือวางเพื่อจัดลำดับใหม่ เป็นต้น การปรับปรุงคุณสมบัติอื่น ให้คลิกเมาส์มุ่มขวาบนตัว control อีกครั้ง แล้วเลือกคำสั่ง Properties เพื่อเปิดไดอะล๊อกบ๊อกซ์ ของ Property Pages 

ในการจัดผังคอลัมน์ของ Split มีความยุ่งยาก เช่น การลบคอลัมน์ใน Split จะมีผลต่อคอลัมน์ภายใน Split การแก้ปัญหาให้ตั้งคุณสมบัติ Visible ของคอลัมน์เป็น False เพราะคุณลักษณะนี้ สามารถตั้งค่าแบบ split-by-split 

แท็บ General และ Keyboard 

ตามค่าเริ่มต้น ตารางจะไม่มี caption แต่สามารถป้อนข้อความที่ต้องการในแท็บ General ที่คุณสมบัติ Caption ซึ่งจะปรากฏในส่วนสีเทาเหนือชื่อคอลัมน์ คุณสมบัติ AllowAddNew, AllowDelete, และ AllowUpdate เป็นคุณสมบัติ Boolean ใช้หาการทำงานตามที่กำหนดบนตาราง คุณสมบัติ ColmnHeader สามารถตั้งเป็น False เพื่อซ่อนแถวของชื่อคอลัมน์ หมายเหตุในแท็บ Font สามารถตั้งค่าคุณสมบัติ HeadFont เพื่อคำนวณลักษณะฟอนต์ของคอลัมน์ 

คุณสมบัติ DefColWidth เป็นค่าเริ่มต้นความกว้างของคอลัมน์ ถ้าตั้งค่าเป็น 0 (ค่าเริ่มต้น) ความกว้างของแต่ละคอลัมน์เป็นค่ากว้างที่สุดฟิลด์ และความกว้างชื่อคอลัมน์ คุณสมบัติ HeadLines เป็นค่าจำนวนเต็มระหว่าง 0 ถึง 10 ตรงตามจำนวนแถวที่ใช้ของชื่อคอลัมน์ แต่ควรตั้งคุณสมบัติ ColmnHeader เป็น False คุณสมบัติ RowHeight เป็นความสูงของแถว เป็น twips 

ถ้าตั้งค่าคุณสมบัติ BorderStyle เป็น 0-dbgNoBorder จะไม่มีเส้นขอบ คุณสมบัติ RowDividerLine เป็นรูปแบบของเส้นแบ่งแถว 

แท็บ Keyboard สำหรับการตั้งค่าคุณสมบัติที่มีผลต่อพฤติกรรมคีย์บอร์ดเพื่อ DataGrid ได้รับโฟกัส ถ้าตั้งค่าคุณสมบัติ AllowArrows เป็น True ผู้ใช้สามารถเลื่อนไปตามเซลล์ด้วยปุ่มลูกศร ถ้า WrapCallPointer เป็น True ถ้ากดมุ่มลูกศรขวาที่ท้ายของแถว โฟกัสจะเลือนไปที่เซลล์ของแถวต่อไป และกดปุ่มลูกศรซ้าย ที่ตอนต้นของแถวโฟกัสจะเลื่อนไปเซลล์สุดท้าย ของแถวก่อนหน้า 

คุณสมบัติ TabAction เป็นการกำหนดพฤติกรรม เมื่อกดปุ่ม Tab หรือ Shift + Tab และ DataGrid บนตัว control ปัจจุบัน ซึ่งมีค่าเริ่มต้นเป็น 0-dbgControlNavigation จะทำให้ตัว control ต่อไปได้รับโฟกัส ถ้าตั้งแต่เป็น 1-dbgColumnNavigation เมื่อกดปุ่ม Tab โฟกัส จะเลื่อนไปยังคอลัมน์ต่อไป แต่เซลล์ปัจจุบันอยู่ที่เซลล์สุดท้ายของแถว โฟกัสจะเลื่อนไปยังตัว control ต่อไป สำหรับการตั้งค่า 2-dbgGridNavigation โฟกัสจะอยู่ภายในตัว control 

ตามที่ค่าเริ่มต้นปุ่ม Tab และ ปุ่มลูกศรจะไม่โฟกัสที่ Split แต่ค่าตั้งแต่คุณสมบัติ TabAcrossSplit เป็น True โฟกัสจะเข้าไปใน Split โดยใช้ ปุ่ม Tab 

แท็บ Column และ Format 

แท็บ Column ยินยอมให้ตั้งค่าคุณสมบัติ Caption ของแต่ละอ๊อบเจค Column เช่นเดียวกับคุณสมบัติ DataField ที่เก็บชื่อฟิลด์ในแหล่งข้อมูลของคอลัมน์ 

แท็บ Format ยินยอมให้ตั้งค่าคุณสมบัติ DataFormat ของแต่ละอ๊อบเจค Column 

แท็บ Splits 

ถ้าตารางมีการแบ่งส่วนเป็น 2 ส่วนขึ้นไป การตั้งค่าคุณลักษณะ ของพื้นที่ในแท็บ Split การปรับปรุงคุณลักษณะของ Split ให้เลือก Split จาก รายการ drop-down ด้านบน ถ้าตารางไม่มีการแบ่งการกำหนดคุณสมบัติ จะมีผลต่อตัว control คุณสมบัติ Locked ถ้าตั้งเป็น True จะทำการเปลี่ยนเป็นแบบอ่านอย่างเดียว คุณสมบัติ AllowFocus เป็นการให้ Split สามารถรับโฟกัส คุณสมบัติ AllowSizing เป็นกำหนดให้มีการปรับขนาดด้วยเมาส์ได้เมื่อเรียกใช้ คุณสมบัติ AllowRowResizing ถ้าเป็น True ผู้ใช้สามารถปรับความสูงแถวด้วยเมาส์ คุณสมบัติ RecordSelectors เป็นการแสดงคอลัมน์สีเถาสำหรับเลือกเรคคอร์ดด้านซ้ายสุดของ Split คุณสมบัติ MarqueeStyle สำหรับหาการไฮไลต์เซลล์ปัจจุบันที่เลือก 

คุณสมบัติ AllowRowResizing, RecordSelectors และ MarqueeStyle ถ้ากำหนดใน DataGrid จะมีผลต่อ Split 

แท็บ Layout 

แท็บ Layout ใช้ตั้งคุณลักษณะของคอลัมน์แบบ split-by-split โดย DataGrid ยินยอมให้แสดงคอลัมน์เดียวกันสามารถแสดงคุณลักษณะต่างกันในคนละ Split การตั้งค่าให้เป็นแบบอ่านอย่างให้กำหนดที่คุณสมบัติ Locked และการมองเห็น กำหนดที่คุณสมบัติ Visible คุณสมบัติ AllowSizing เป็นค่า Boolean สำหรับการหาค่าคอลัมน์สามารถปรับได้ คุณสมบัติ Button ค่าตั้งเป็น True จะมีปุ่ม drop-down ปรากฏขึ้นเพื่อ เซลล์ได้รับโฟกัสเมื่อมีการคลิกปุ่มนี้ จะเกิด ButtonClick event 

การทำงานเมื่อเรียกใช้ 

DataGrid มีความซับซ้อน ต้องใช้ในเวลาในการศึกษา 

การทำงานกับเซลล์ปัจจุบัน 

เมื่อมีการเรียกใช้ DataGrid จะใช้คุณสมบัติ Row และ Col ในการส่งออกหรือตั้งตำแหน่งของเซลล์ที่ได้รับโฟกัส แถวแรกและคอลัมน์ซ้ายจะส่งคืนค่าเป็น 0 เมื่อมีการให้เซลล์เป็นเซลล์ปัจจุบันจะสามารถดึงค่าหรือปรับปรุงด้วยคุณสมบัติ Text 

Private Sub cmdUpperCase_Click ()
   DataGrid1.Text = UCase$(DataGrid1.Text)
End sub 

คุณสมบัติ EditActive ส่งค่า True ถ้าเซลล์ปัจจุบันได้รับการแก้ไข และสามารถกำหนดค่าให้คุณสมบัตินี้เพื่อป้อนค่าหรืออกจากการแก้ไข เมื่ออยู่ในโหมด Edit จะเกิด ColEdit event 

Private Sub DataGrid1_ColEdit (ByVal Colindex As Integer)
   ’ Savetext เป็นตัวแปรระดับโมดูล
   Savetext = DataGrid1.Text
End sub 

การหาเซลล์ปัจจุบันที่ได้รับการแก้ไข สามารถค้นหาจากคุณสมบัติ CurrentCellModified และ สามารถตั้งค่าคุณสมบัติ เป็น False และตั้งค่าคุณสมบัติ EditActive เป็น False เพื่อยกเลิกการแก้ไข คุณสมบัติ CurrentCellVisible มีใน DataGrid และอ๊อบเจค Split จะส่งออกค่า True ถ้าเซลล์ที่สามารถมองเห็นในอ๊อบเจค เมื่อมีการแก้ไขเซลล์ จะสามารถอ่านและปรับปรุงตารางด้วยคุณสมบัติ SelStart, SelLength และ SelText
เนื่องจาก DataGrid ใช้รวมกับแหล่งข้อมูล ADO ถ้าให้สามารถใช้คุณสมบัติ Bookmark เพื่อตั้งค่าหรือส่งออก bookmark ไปที่เรคคอร์ด 

การเข้าถึงเซลล์ 

การเข้าถึงเซลล์ใด ๆ ในตารางสามารถใช้ bookmark โดยอ๊อบเจค Column มี เมธอด CellText และ CellValue ที่ส่งออกข้อมูลของไม่ยัง bookmark และการดึง bookmark ที่สัมพันธ์กับแถว ใช้เมธอด GetBookmark ซึ่งจะได้ค่าแถวที่สัมพันธ์กับแถวปัจจุบัน หรือเมธอด RowBookmark ที่ส่งออก bookmark ของแถวที่มองเห็น และ bookmark ของแถวแรกเป็นค่าที่ส่งออกโดยคุณสมบัติ FirstRow และมีคุณสมบัติ LeftCol รักษาดัชนีของคอลัมน์แรกที่มองเห็น 

DataGrid1.LeftCol = 0
Adodc1.Recordset.MoveFirst
DataGrid1.Current.CellVisible = True 

คุณสมบัติ VisibleRows และ VisibleCol เป็นคุณสมบัติอ่านอย่างเดียวที่ส่งออกจำนวนแถวและคอลัมน์ สามารถใช้คุณสมบัติ ApproxCount ส่งออกจำนวนแถวโดยประมาณ และจำนวนคอลัมน์หาได้จากคุณสมบัติ Count ใน Column collection 

การจัดการเซลล์ที่เลือก 

การเลือกคอลัมน์ของคอลัมน์ที่อยู่ติดต่อกัน ทำได้โดยการคลิกส่วนหัวคอลัมน์พร้อมกับกดปุ่ม Shift ค้างไว้ โดยคุณสมบัติ SelStartCol และ SelEndCol จะส่งออกดัชนีของคอลัมน์แรกและคอลัมน์สุด ส่วนการเลือกแถวสามารถเลือกแบบไม่อยู่ติดต่อกันได้
การยกเลิกการเลือกคอลัมน์ด้วยการตั้งค่าคุณสมบัติ เป็น -1 หรือการกระตุ้นเมธอด ClearSelCols คุณสมบัติและเมธอดเหล่านี้สามารถเกิดขึ้นโดยอ๊อบเจค Split
เนื่องจากผู้ใช้สามารถเลือกแถวแบบไม่เรียงลำดับ ระบบจะค้นหาแถวที่ได้รับการเลือกบน SelBookmarks collection ของ DataGrid ซึ่งเก็บ bookmark ของแถวที่เลือก ตัวอย่างการเลือกแถวปัจจุบัน
DataGrid1.SelBookmarks.Add DataGrid1.Bookmark 

การเลือกแถวสามารถใช้ For…Each…Next ตามตัวอย่างคำสั่งที่ใช้ประโยชน์ SelChange event ซึ่งเกิดขึ้น เมื่อมีการเลือกคอลัมน์หรือแถว 

Private Sub DataGrid1_SelChange(Cancel As Integer)
Dim total As Single, bmark As Variant
   For Each bmark In DataGrid1.SelBookmarks
      total = total – DataGrid1.Columns(”Total”).CellValue(bmark)
   Next
End Sub 

การติดตามการแก้ไข 

DataGrid มี event จำนวนมากที่ให้ใช้ในการทำงานอย่างของผู้ใช้ event ส่วนมากอยู่รูปของ BeforeXXXX และ AfterXXXX โดย BeforeXXXX จะรับพารามิเตอร์ Cancel ซึ่งสามารถตั้งค่าเป็น True เพื่อยกเลิกการทำงาน 

Private Sub DataGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
   ’ จัดการค่าที่ไม่ถูกต้อง
End Sub 

เมื่อมีการปรับข้อมูล DataGrid จะได้รับ Change event 

Dim newCellText As String 

Private Sub DataGrid1_Change()
   NewCellText = DataGrid1.Text
End Sub 

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s