以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  父表空行的提示问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122157)

--  作者:douglas738888
--  发布时间:2018/7/19 21:48:00
--  父表空行的提示问题

请教老师,下面代码写在子表的BeforeAddDataRow

 

想实现,如果父表没有行,子表不能增加行,并进行提示,但是未达到效果,还是提示“增加行无效,父表无值.......

 

 

Dim pr As DataRow = e.DataRow.GetParentRow("单位信息")

If pr Is Nothing Then

    e.Cancel = True

    MessageBox.Show("请先增加新数据行进行编辑后,再进行明细表编制")

else

    e.Cancel = False

End If


--  作者:有点甜
--  发布时间:2018/7/19 22:13:00
--  

Dim r As row = tables("表A").current

If r("某列") = nothing Then

    e.Cancel = True

    MessageBox.Show("请先增加新数据行进行编辑后,再进行明细表编制")

else

    e.Cancel = False

End If


--  作者:douglas738888
--  发布时间:2018/7/20 8:39:00
--  

谢谢老师,您指导的代码我写过,不起作用,可能是我描述问题不清楚,因为父表此时是无对应的数据行,也无法current(主要是想解决,有的员工直接点击明细表增加行时进行友情提示,而不出现系统的提示“增加行失败...”

 

 


--  作者:有点甜
--  发布时间:2018/7/20 8:43:00
--  

Dim r As row = tables("表A").current

If r is Nothing OrElse r("某列") = nothing Then

    e.Cancel = True

    MessageBox.Show("请先增加新数据行进行编辑后,再进行明细表编制")

else

    e.Cancel = False

End If


--  作者:douglas738888
--  发布时间:2018/7/20 8:56:00
--  

还是出现系统提示,简单做了个例子,请老师再看看,表A与表B关联,表A无任何数据行,此时表B增加行,依然出现系统提示 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试20180720.foxdb


--  作者:有点甜
--  发布时间:2018/7/20 9:05:00
--  

测试了一下,这个无法控制。

 

方法一:你可以修改菜单的【新增行】的按钮命令,点击的时候先判断父表数据;

 

方法二:不要用关联表显示,改成副本表,模拟成关联表。