Click to See Complete Forum and Search --> : How can I use Datagrid Columns button property


BYaman
October 4th, 2001, 04:27 AM
Datagrid columns obje has button property. When you click this button call datagrid buttonclick event.
But I want to add a control such as combobox, datetimepicker etc..
How can I do.
Any sample project
Thanks

saroj
February 15th, 2002, 06:44 AM
'****************************************************************************************************
''TWO TABLES IN db1.mdb ----> tblFields, tblNumbers
''tblFields----> Fields contains ---->Fields1
'' Fields2
'' Fields3
'' Fields4
'' Fields5
''tblNumbers----> Number ---->1 Fld----> This field is populated using COMBOBOX in datagrid
'' 2
'' 3
'' 4
'' 5
''Datagrid---->dGrid RowHeight=225
''ComboBox(Style DropDown List)----> cmbFields Height=315
''ADO Data Control ----> Adodc1


''FIRST COLUMN (Column(0) OF DATAGRID IS POPULATED WITH NUMBER FIELD OF tblNumbers TABLE
''SECOND COLUMN (Column1) OF DATAGRID IS POPULATED USING cmbFields COMBOBOX ON BUTTONCLICK EVENT OF DATAGRID
'****************************************************************************************************

Option Explicit
Dim rs As ADODB.Recordset
Dim conn As ADODB.Connection
Dim strSQLString As String ''sql query string

Private Sub Form_Load()
Set conn = New ADODB.Connection ''connection object
Set rs = New ADODB.Recordset ''recordset object

conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Persist Security Info=False"
conn.Open

strSQLString = "select * from tblFields order by Fields"
rs.Open strSQLString, conn, adOpenDynamic, adLockPessimistic

Do Until rs.EOF
cmbFields.AddItem rs.Fields("Fields").Value
rs.MoveNext
Loop

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from tblNumbers order by Number"
Set dGrid.DataSource = Adodc1
Adodc1.Refresh

dGrid.Columns(1).Button = True

End Sub

Private Sub dGrid_ButtonClick(ByVal ColIndex As Integer)
cmbFields.Width = dGrid.Columns(1).Width
cmbFields.Left = dGrid.Columns(1).Left + dGrid.Left
cmbFields.Top = dGrid.Columns(1).Top + dGrid.Top + dGrid.RowTop(dGrid.Row) - dGrid.RowHeight
cmbFields.Visible = True
End Sub

Private Sub dGrid_Click()
cmbFields.Visible = False
End Sub

Private Sub cmbFields_Click()
dGrid.Columns(1).Text = cmbFields.Text
cmbFields.Visible = False
End Sub