我的目的是想把CHECKBOX选中的行删除,或执行其它动作.
如果DataGird 不能实现此功能,请问我可以用什么控件呢,能举个例子吗?
如果DataGird 不能实现此功能,请问我可以用什么控件呢,能举个例子吗?
解决方案 »
- 如何屏蔽mscomm控件的Oncomm事件弹出的实时错误窗口?
- Picture1.Picture = LoadPicture("D:\pic\"&i&".jpg")
- MSComm控件的output发送指令问题
- 怎样才能不打开excel,直接御览
- 如何在类定义中使用Public可变数组
- 关于ado中的 SELECT 语句求教!请尽快答复,谢谢!
- VB文本框禁用了运行后里面的字体颜色很淡,有什么办法让它更清楚些?
- 100分求助,用mscomm空件打传呼!!急!!
- 问一个关于ACCESS的问题
- richtextbox控件中选定文本的背景色默认是黑色,如何改变呢?
- Frame为什么把Lable给挡住了?Lable为什么不能显示~~~~~帮忙
- 怎么取消Datagrid添加的新记录??谢谢!
Dim hh As Integer
Dim Xh As Integer
Dim Cpm As String
Dim cSpdj1 As Double
hh = 12
If DataGrid1.Enabled = True Then
If DataGrid1.Columns(0).Text = "品牌" And DataGrid1.Columns(0).Text = "工艺" And DataGrid1.Columns(0).Text = "规格" And DataGrid1.Columns(0).Text = "TOTAL:" Then
DataGrid1.Columns(9).Locked = True
Else
DataGrid1.Columns(9).Locked = False
End If
Select Case DataGrid1.Col
Case 0
Check1.Visible = False
Text5.Visible = False
Combo2.Visible = True
Combo4.Visible = False
Combo5.Visible = False
Combo2.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50
Combo2.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
Combo2.top = DataGrid1.top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
Combo2.SetFocus
If DataGrid1.Columns(0).Text <> "" Then
Combo2.Text = DataGrid1.Columns(0).Text
End If
Case 1
Check1.Visible = False
Combo2.Visible = False
Combo4.Visible = False
Combo5.Visible = False
Text5.Visible = False
Select Case DataGrid1.Columns(0).Text
Case "品名"
Check1.Visible = False
Text5.Visible = True
Combo2.Visible = False
Combo4.Visible = False
Text5.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50
Text5.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
Text5.top = DataGrid1.top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
Text5.SetFocus
If DataGrid1.Columns(0).Text <> "" Then
Text5.Text = DataGrid1.Columns(1).Text
End If
End Select
Case 2
Check1.Visible = False
Combo2.Visible = False
Combo4.Visible = False
Combo5.Visible = False
Text5.Visible = False
Select Case DataGrid1.Columns(0).Text
Case "规格"
If DataGrid1.Columns(2).Text <> "" Then
Text5.Text = DataGrid1.Columns(2).Text
Else
If Text5.Text <> "" Then
DataGrid1.Columns(2).Text = Text5.Text
End If
End If
End Select
If IsNull(Rs_Jc_Shhy_Sp.Fields("ID")) Or Rs_Jc_Shhy_Sp.Fields("ID") = Rs_Jc_Shhy_Sp.RecordCount Then
DataGrid1.Enabled = False
Rs_Jc_Shhy_Sp.AddNew
Rs_Jc_Shhy_Sp.Fields("ID") = Rs_Jc_Shhy_Sp.RecordCount
Rs_Jc_Shhy_Sp.Fields("HTH") = Text1(0).Text
Rs_Jc_Shhy_Sp.MovePrevious
DataGrid1.Enabled = True
End If
Case 6
Select Case DataGrid1.Columns(0).Text
Case "品名"
Combo5.Visible = True
Combo5.Width = DataGrid1.Columns(DataGrid1.Col).Width + 30
Combo5.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
Combo5.top = DataGrid1.top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
Combo5.SetFocus
Case Else
Combo5.Visible = False
End Select
Case 8
Check1.Visible = False
Text5.Visible = False
Combo2.Visible = False
Combo5.Visible = False
Select Case DataGrid1.Columns(0).Text
Case "价格条款"
Combo4.Visible = True
Combo4.Width = DataGrid1.Columns(DataGrid1.Col).Width + 30
Combo4.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
Combo4.top = DataGrid1.top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
Combo4.SetFocus
If DataGrid1.Columns(8).Text <> "" Then
Combo4.Text = DataGrid1.Columns(8).Text
End If
Case Else
Combo4.Visible = False
End Select
Case 9
Text5.Visible = False
Combo2.Visible = False
Combo5.Visible = False
Select Case DataGrid1.Columns(0).Text
Case "品牌", "工艺", "规格", "TOTAL: "
Check1.Visible = False
Case Else
Check1.Visible = True
Check1.Width = DataGrid1.Columns(DataGrid1.Col).Width + 30
Check1.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
Check1.top = DataGrid1.top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
Check1.SetFocus
If DataGrid1.Columns(9).Text <> "" Then
Check1.Value = 1
Else
Check1.Value = 0
End If
End Select
If IsNull(Rs_Jc_Shhy_Sp.Fields("ID")) Or Rs_Jc_Shhy_Sp.Fields("ID") = Rs_Jc_Shhy_Sp.RecordCount Then
DataGrid1.Enabled = False
Rs_Jc_Shhy_Sp.AddNew
Rs_Jc_Shhy_Sp.Fields("ID") = Rs_Jc_Shhy_Sp.RecordCount
Rs_Jc_Shhy_Sp.Fields("HTH") = Text1(0).Text
Rs_Jc_Shhy_Sp.MovePrevious
DataGrid1.Enabled = True
End If
Case Else
Check1.Visible = False
Text5.Visible = False
Combo2.Visible = False
Combo4.Visible = False
Combo5.Visible = False
End Select
Select Case DataGrid1.Columns(0).Text
Case "规格"
If DataGrid1.Col = 3 Or DataGrid1.Col = 4 Or DataGrid1.Col = 6 Or DataGrid1.Col = 7 Then
If DataGrid1.Columns(3) <> "" And DataGrid1.Columns(6) <> "" Then
Xh = 0
' While Rs_Jc_Shhy_Sp.Fields("recordlx") <> "品名"
While Rs_Jc_Shhy_Sp.Fields("NEWlx") <> "品名"
Rs_Jc_Shhy_Sp.MovePrevious
Xh = Xh + 1
Wend
' If Rs_Jc_Shhy_Sp.Fields("recordlx") = "品名" Then
If Rs_Jc_Shhy_Sp.Fields("NEWlx") = "品名" Then
cSpdj1 = Rs_Jc_Shhy_Sp.Fields("spdj")
End If
For I = 1 To Xh
Rs_Jc_Shhy_Sp.MoveNext
Next
DataGrid1.Columns(7).Text = DataGrid1.Columns(3).Text * DataGrid1.Columns(6).Text
If Int(cSpdj1) <> 0 Then
DataGrid1.Columns(7).Text = DataGrid1.Columns(3).Text * DataGrid1.Columns(6).Text / Int(cSpdj1)
End If
End If
End If
End Select
Else
Text5.Visible = False
Combo2.Visible = False
Combo4.Visible = False
End If
End Sub
例子中的COMBO和TEXT控件如何放置,能放置到DATAGRID中作为列(ITEM)吗?
发个简单的程序给我好吗?
[email protected]
发了必给分:)
'----------------------------------------------------------------------------
'
'Auth:lihonggen0
'Date:2003-6-18
'功能:DataGrid1上附加COMBO和CheckBox
'在form上添加一个DataGrid1、一个COMBO和一个CheckBox控件放到屏幕上任何位置都可以
'----------------------------------------------------------------------------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 = Rs
End Sub
1. 如果我想第三列的所有行显示为CHECK BOX 形式行吗?
2.界面是差了点.