如何在datagrid中显示下拉列表框?在CSDN上找了好久也没看到。 我要在datagrid 中直接输入数据。在一个字段的输入中希望可以选择,如“部门”字段需要显示一个下拉列表框,然后选择其中的一个部门名称即可。如何在datagrid中把下拉列表框 combobox 显示出来呢?解决即揭帖100分。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 VB 6.0中的DataGrid功能比较弱,不具备这个功能。可以考虑使用别的控件。 很久前就回答过http://search.csdn.net/Expert/topic/1634/1634398.xml?temp=.4157068 Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) Select Case DataGrid1.Col Case 1 Check1.Visible = False Combo1.Visible = True Combo1.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50 Combo1.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left Combo1.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight) + (DataGrid1.HeadLines) * 195 Combo1.SetFocus If DataGrid1.Columns(DataGrid1.Col).Text <> "" Then Combo1.Text = DataGrid1.Columns(DataGrid1.Col).Text End If Case 2 Check1.Visible = True Check1.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50 Check1.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left Check1.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight) + (DataGrid1.HeadLines) * 195 Check1.SetFocus Combo1.Visible = False Case Else Combo1.Visible = False Check1.Visible = False End SelectEnd SubPrivate Sub Form_Load()'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=sa;" CN.Open Rs.CursorLocation = adUseClient Rs.Open "select * from employees", CN, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = RsEnd Sub 用第三方表格控件vsFlexgrid 或Formula One会方便些Spread也不错 建议使用vsFlexgrid 或Formula One 在哪儿可以下载vsflexgrid?谢谢。 VB写控件的时候,如何获得Session中的参数值,最好有个例子参考一下 ★★★ 山西太原的VB程序员有多少?大家来报个到,好好聊聊。★★★ vb 代码写备份数据库有问题, 再线等,急急急急急急急急! 小问题 抓包抓到的 Cookie 中的 login_time 值是怎么算出来的 日历壁纸制作工作VB版源代码 菜鸟:为什么没有显示ADODB 42000 是什么错误啊 急 求助!如果把picture中图片保存成16位或单色的图片 如何才能知道当前的分辨率? 快捷键设置 请教 Datagrid
http://search.csdn.net/Expert/topic/1634/1634398.xml?temp=.4157068
Select Case DataGrid1.Col
Case 1
Check1.Visible = False
Combo1.Visible = True
Combo1.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50
Combo1.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
Combo1.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight) + (DataGrid1.HeadLines) * 195
Combo1.SetFocus
If DataGrid1.Columns(DataGrid1.Col).Text <> "" Then
Combo1.Text = DataGrid1.Columns(DataGrid1.Col).Text
End If
Case 2
Check1.Visible = True
Check1.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50
Check1.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
Check1.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight) + (DataGrid1.HeadLines) * 195
Check1.SetFocus
Combo1.Visible = False
Case Else
Combo1.Visible = False
Check1.Visible = False
End SelectEnd SubPrivate Sub Form_Load()
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=sa;" CN.Open
Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = Rs
End Sub
Spread也不错