Показать полную графическую версию : Переместить combobox в нужный столбец и растянуть по ширине столбца в DataGrid
blackeangel
14-02-2019, 07:45
Уже всю голову сломал. Как это сделать? Или может есть литература по свойствам и функциям DataGrid?
blackeangel
15-02-2019, 22:26
Сам нашёл ответ
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
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.