PDA

Показать полную графическую версию : Переместить 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