请问,我想对窗体上MsFlexGrid显示的记录集的任意一条数据进行修改,请问是否可以设置其网格为可编辑的(通常好象不能编辑)从而直接在网格中修改,然后再通过程序把修改的后的记录保存到数据库中?或者有没有其他比较好的解决办法?
解决方案 »
- 问个基础问题vb中rs.open和rs.Execute语句区别?
- 如何限定textbox中输入的是日期类型的文本?(在线等)
- FORM1-LOAD() 中有LISTBOX控件,显示某一表单的某一字段的内容,但在运行时提示错误"对象不支持该属性和操作" ,而且LISTBOX中有几个项目,就
- 初学者小问题
- mshflexgrid的打印预览问题
- 我在win2000 professional上安装vs.net,发现vs.net在安装请会安装一些windows组件(包括win2000 server pack2.0),然后启动系统后出现..
- 有关vb创建类的属性的问题
- vb内可以调用执行.bat文件吗?
- 还是人家美国新泽西州的人帅!谁知道从哪儿的地下能挖出Visual Studio 7.0 来
- 高手们的小问题,可现在我不知,哪位大吓能救小弟?VB问题
- 請問滾動條的用法
- 关于excel->csv文件的转换 需要使用宏,高分求助
1,MsFlexGrid + TextBox 变网格成为可编辑
2,在单元格移动时候(失去焦点触发事件),update数据表。//另一种方法,直接和datagrid控件绑定。例子:可以用数据向导,让vb自动生成一个。
可在控件上进行修改,更新等操作
步骤:
1,建立access
2, 转换为旧版本
3,外接程序--外接程序管理器,加载<数据窗体向导>
4,…下一步…(记得要选择网格的)…下一步…
5,生成以后,运行成功。打开代码修改,比如把数据源连接改掉。
6,打开香槟,大家喝一杯
在窗体中加入一个text控件作为输入的容器。实现代码如下(我写的,可能有bug)
代码都很简单,应该能看懂的。自己修改一下吧Dim c As Integer
Dim r As Integer
Private Sub Form_Load()
With MSFlexGrid1
.Rows = 3
.Cols = 4
.Width = 1200 * 4 + 100
.Height = 300 * 3
For i = 0 To 2
.Row = i
For j = 0 To 3
.Col = j
.ColWidth(j) = 1200
.ColAlignment(j) = j
.Text = "item" & i & "*" & j
Next j
Next i
End With
Text1.Visible = False
End SubPrivate Sub MSFlexGrid1_DblClick()With MSFlexGrid1
c = .Col
r = .Row
Text1.Left = .Left + .ColPos(c)
Text1.Top = .Top + .RowPos(r)
Text1.Width = .ColWidth(c)
Text1.Height = .RowHeight(r)
Text1.Text = .Text
Text1.Visible = True
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End With
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyEscape Then
Text1.Visible = fasle
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
MSFlexGrid1.Text = Text1.Text
Text1.Visible = False
End If
End SubPrivate Sub Text1_LostFocus()
Text1.Visible = False
With MSFlexGrid1
.Col = c
.Row = r
MSFlexGrid1.Text = Text1.Text
End With
End Sub