[求助]datagrid控件在最后一行时的行为不好控制

victorycyz 2004-06-07 09:17:05


设置datagrid允许新增和删除。在点击到最后一行(带*号的那一行)时,发现会多次触发绑定的recordset的willmove、movecomplete等事件,而且,absolutepostion属性、datagrid的row属性等也是捉摸不定。

废话少说,我想在鼠标点击最后一行时,立即在其后面增加一个新行。在离开此行时,如果没有输入过单元格的内容时,删除此行,如果离开此行是想移到最后那个新增行,则不删除此行。用代码控制,该怎么写呢?

请高手指教。

...全文
106 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
flyingscv 2004-06-08
在某个事件中加个rs.movenext就行了,然后效果和dbgrid一样
  • 打赏
  • 举报
回复
wea1978 2004-06-08
关注....
  • 打赏
  • 举报
回复
datagrid 这个控件有这么强的功能吗???

除非外加东西.本身我想它也许不可好实现.楼主想出来时.要贴出来了哟...
  • 打赏
  • 举报
回复
victorycyz 2004-06-07

谢谢online回复,不过,不是这个意思。

我的datagrid的允许新增和允许删除属性都在设计环境下设置为true,允许编辑为false.这些不在运行时改变。(编辑记录是通过另外的文本框实现,这个与本问题关系不大。)

现在要求:1)点击空白行时,立即在后面出现一个新增的空白行。
2)在离开此行时,如果没有输入任何东西则即刻删除此行。

调试了好多天了,弄不出这个效果:(
  • 打赏
  • 举报
回复
online 2004-06-07
如果 AllowAddNew 属性为 True ,那么在网格中显示的最后一行是空的,允许用户输入新记录。如果 AllowAddNew 属性为 False, 空白行将不显示
Private Sub Form_Load()
DataGrid1.AllowAddNew = False
end sub

Private Sub DataGrid1_Click()
'Dim li_data As String
'Dim li_col As Integer
'li_col = DataGrid1.Col
'li_data = DataGrid1.Columns(li_col).Text

DataGrid1.AllowAddNew = True
'这里需要判断一下,如果没有输入
If DataGrid1.Columns("总金额").Text = "" Then
DataGrid1.AllowAddNew = False
Else
DataGrid1.AllowAddNew = True
End If
End Sub
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库(包含打印,安装,报表)
加入

1198

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-06-07 09:17
社区公告
暂无公告