![]() |
Languages »
VB6 Interop »
General
Intermediate
License: The Code Project Open License (CPOL)
Edit Flex Grid with Combo Box in VB 6By Mostafa KaisounUsing new ActiveX to edit Microsoft Flex grid with Combo box in VB 6 |
VB 6Win2K, WinXP, Win2003, Vista, WinForms
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||


With beautiful VB6, I have some trials to edit something like invoice, I found Data grid not familiar to edit tables, also Flex grid has no method to edit. Now I create my ActiveX control using (MSFlexGrid) control, a hidden text box and a hidden combo box. I give the name (VB6Flexgrid) to my ActiveX. I create a project (prjFlexGrid) to test my control. I write the code under Visual Basic 6. With my ActiveX control, you can:
When using my ActiveX control (VB6Flexgrid), the flex grid begins with one row as Data grid control, then increases rows one by one after editing the previous row. My ActiveX control has some methods and some properties:
Method/Property |
Definition |
Example |
ColWidth(anyCol) |
Set column width in (Twip) | VB6Flexgrid1.ColWidth(1) = 1500 |
TextMatrix(anyRow, anyCol) |
Get or set string for the cell (row, col) |
VB6Flexgrid1.TextMatrix(3, 2) = “VB6” |
CellType anyCol, B |
Let Column include combo box if B = True |
VB6Flexgrid1.CellType 3, True |
ComboClear anyCol |
Clear combo box | VB6Flexgrid1.ComboClear 3 |
ComboAddItem anyCol, anyString |
Add item to combo box | VB6Flexgrid1.ComboAddItem 3, “Visual Studio” |
DelRow |
Delete current row | VB6Flexgrid1.DelRow |
DelAll |
Clear the grid | VB6Flexgrid1.DelAll |
To use my ActiveX (VB6Flexgrid), you must add the file VB6Flexgrid.ocx and MicrosoftFlexGrid control to ‘ToolBox’ as follows:
About columns:
' Set number of columns:
VB6Flexgrid1.FixedCols = 0 ' if you do not need fixed columns
VB6Flexgrid1.Cols = 5 ' number of columns
' Set width of column:
VB6Flexgrid1.ColWidth(1) = 1500 ' width in Twip
' Set alignment of column (You can change many using loop)
VB6Flexgrid1.ColAlignmentHeader(1) = flexAlignCenterCenter
' alignment of fixed row, column #1 (to Center)
VB6Flexgrid1.ColAlignment(1) = flexAlignLeftCenter ' alignment column #1 (to Left)
About combo box:
' Set combo box at any column:
VB6Flexgrid1.CellType 3, True ' combo box at column #3
VB6Flexgrid1.ComboClear 3 ' clear this combo
VB6Flexgrid1.ComboAddItem 3, „Visual Studio“ ' add item to this combo
About cell:
' Send data to any cell:
VB6Flexgrid1.TextMatrix(2, 3) = „VB6“
' Read any cell:
Dim strCell As String
strCell = VB6Flexgrid1. TextMatrix(3, 2)
You can go back to source files of the project (prjFlexGrid) to read more than the previous examples.
When extracting the file VBFlexGrid.zip, you can find the file: ..\VBFlexGrid\ActiveXcontrol\VB6Flexgrid.ocx, find the project to test the ActiveX control in the folder: ..\ VBFlexGrid.
This project has three forms:
Form1: To choose language
Form2: For English language
Form3: For Arabic language
Form2 and Form3 have the same controls:
VB6Flexgrid1) adds the file VB6Flexgrid.ocx
btnDelOne) to delete one row
btnDelAll) to clear the grid
btnWriteCell) writes data to the first cell
btnReadOne) to read the current cell
btnReadAll) to copy all data from grid to list box
btnExit) closes the form
lstAllData) holds data from grid
I hope this article is useful and helps you to create your applications. If you have any ideas or if you find any problems, please tell me. Thanks to CodeProject and thanks to all.
-- Mostafa Kaisoun
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 29 Jan 2009 Editor: Deeksha Shenoy |
Copyright 2007 by Mostafa Kaisoun Everything else Copyright © CodeProject, 1999-2009 Web15 | Advertise on the Code Project |