vsflexgrid控件,能否实现这个效果。
就像在编辑EXCEL表一样,在里面输入,更改数据。
然后,点一个保存按钮,所有的改动,全部更新到数据库。。。
哪位高人给出代码。
问题点数:0、回复次数:7Top
1 楼yangao(人品决定一切,相貌决定人品!)回复于 2004-12-01 12:32:13 得分 0
可以的
得用一个文本框跟随所选择的Row和ColTop
2 楼hedane(有球必应)回复于 2004-12-01 12:50:26 得分 0
vsflexgrid 本来就可以编辑。想要简单一点的保存操作,用绑定得了。Top
3 楼wumylove1234(毁于随)回复于 2004-12-01 12:56:20 得分 0
我有代码!
不过这个其它你也是要判断的.因为他胡乱输入一通,是否合要求也说准...
方法是For一下吧.Top
4 楼cosio()回复于 2004-12-01 13:22:00 得分 0
加一文本框
vsflexgrid.cell()判断当前网格所在位置
就把文本框位置等于vsflexgrid.cell()
就可以!
Top
5 楼qingyun67(benben兔)回复于 2004-12-01 13:55:47 得分 0
循环````Top
6 楼nhyjk(死去活来)回复于 2004-12-01 13:56:27 得分 0
可以用循环保存,我可以把代码片断给你,你自己修改一下,主要的思路是先删除表中的内容,然后再用循环来insert到表中
Public Sub SaveGrid( OcxName As Control)
'****************************************************************
'** 作用:保存传入参数tablename表所在Grid里的数据
'** 参数: OcxName,要保存数据的网格名称。
'** 作者:
'** 时间:
'** 注意:
'*****************************************************************
'Call ConnStrSub
Dim conn As New Connection
conn.Open connDb()
conn.BeginTrans '使用事务处理
On Error GoTo Rollback
Dim i As Integer
conn.Execute "delete tablename"
For i = 1 To OcxName.Rows - 1
conn.Execute "insert into tablename(frist,second) " _
& "values('" & Replace(OcxName.TextMatrix(i, 1), "'", "''") & "','" & Replace(OcxName.TextMatrix(i, 2), "'", "''") & "')"
Next i
If MsgBox("是否确定保存?", vbYesNo) = vbYes Then
conn.CommitTrans
MsgBox ("保存成功!")
Else
conn.RollbackTrans
End If
conn.Close
Exit Sub
Rollback:
conn.RollbackTrans
MsgBox ("由于输入的数据不合法,无法保存,请检查!")
End SubTop
7 楼fog(不会就问)回复于 2004-12-01 15:31:13 得分 0
Private Sub VSFlexGrid1_EnterCell()
VSFlexGrid1.EditCell
End SubTop




