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

victorycyz 2004-06-07 09:17:05


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

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

请高手指教。

...全文
178 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingscv 2004-06-08
  • 打赏
  • 举报
回复
在某个事件中加个rs.movenext就行了,然后效果和dbgrid一样
wea1978 2004-06-08
  • 打赏
  • 举报
回复
关注....
myhot-河马吃草 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

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧