我将datagrid中某个单元格与combobox绑定,在combobox中选择值,并当焦点离开该单元格后,希望把选择的值写入该单元格该怎么做呀?
解决方案 »
- 各位高手,麻烦看一下这段vb代码啥意思,用来干嘛??
- vb中MSHFlexGrid用到本机上程序运行正常,用到没有vb的计算机上不能显示表中的数据,怎么回事??急死了
- 请问如何用 TreeView_InsertItem()
- 有人找我做KTV点歌系统,不知道我能不能做,请大家给点意见。
- 急问!!!VB主程序与VC++客户程序间的远程通讯怎么实现呢?
- 菜鸟请教,在线等侯!!!!
- VB2005/2008怎么建立多个TCP连接?
- combo_click小问题,急!!!
- 关于“找不到可插入ISMA”
- 还是关于VB中的DATA控件
- 用WebBrowser怎么判断页面已经完全读取
- 如何通过c/s方式实现客户端软件自动下载更新?
'
'Author:lihonggen0
'Date:2003-6-18
'功能:DataGrid1上附加COMBO和CheckBox
'在form上添加一个DataGrid1、一个COMBO和一个CheckBox控件放到屏幕上任何位置都可以
'----------------------------------------------------------------------------
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.RecordsetPrivate Sub Combo1_LostFocus()
Rs.Fields(3) = Combo1.Text
End SubPrivate Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Select Case DataGrid1.Col
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 3
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 Else
Combo1.Visible = False
Check1.Visible = False
End SelectEnd SubPrivate Sub Form_Load()
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, adLockBatchOptimistic
Combo1.AddItem "aaaa"
Combo1.AddItem "bbbb" Set DataGrid1.DataSource = Rs
End Sub
'
'Author:lihonggen0
'Date:2003-6-18
'功能:DataGrid1上附加COMBO和CheckBox
'在form上添加一个DataGrid1、一个COMBO和一个CheckBox控件放到屏幕上任何位置都可以
'----------------------------------------------------------------------------
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.RecordsetPrivate Sub Combo1_LostFocus()
Rs.Fields(3) = Combo1.Text
End SubPrivate Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Select Case DataGrid1.Col
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 3
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 Else
Combo1.Visible = False
Check1.Visible = False
End SelectEnd SubPrivate Sub Form_Load()
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, adLockBatchOptimistic
Combo1.AddItem "aaaa"
Combo1.AddItem "bbbb" Set DataGrid1.DataSource = Rs
End Sub
'将combo的值传给字段,DataGrid会自动跟着更新
Rs.Fields(3) = Combo1.Text
End Sub