以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教一个关于必填的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24473)

--  作者:akzzwj
--  发布时间:2012/10/15 10:30:00
--  请教一个关于必填的问题

有一个“计量单位”表,有两列,分别是“编码”“名称”。建一个窗口“计量单位”。请问,在BeforeClose事件中,加入什么代码,实现以下需求:

1、在关闭窗口前执行,如果用户已经修改当前记录(行),但未保存,将禁止关闭窗口,直到保存或撤销修改。

2、如果点击快捷菜单中的"创建",但在“计量单位”窗口中的“编码”“名称”文本框中未输入数据,则关闭窗口后,自动删除空行。

3、如果“计量单位”窗口中的“编码”“名称”文本框中未输入数据,则在点击"计量单位"窗口中的"保存"按钮时候,提醒输入数据。

[此贴子已经被作者于2012-10-15 10:30:57编辑过]

--  作者:akzzwj
--  发布时间:2012/10/15 10:31:00
--  
项目文件如上。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb


--  作者:lin_hailun
--  发布时间:2012/10/15 11:42:00
--  
 代码这样写
Dim txt_bm As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim txt_mc As WinForm.TextBox = e.Form.Controls("TextBox3")

If CurrentTable.Current.DataRow.RowState = DataRowState.Added OrElse CurrentTable.Current.DataRow.RowState = DataRowState.Modified Then
    If txt_bm.Text = "" AndAlso txt_mc.Text = "" Then
        CurrentTable.Current.Delete()       
    Else
        MessageBox.Show("请先保存或撤销数据")
        e.Cancel = True
    End If
End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb



--  作者:akzzwj
--  发布时间:2012/10/15 13:29:00
--  

如果“计量单位”窗口中的“编码”“名称”文本框中未输入数据,则在点击"计量单位"窗口中的"保存"按钮时候,提醒输入数据。 

这一条效果没有实现?

 


--  作者:lin_hailun
--  发布时间:2012/10/15 13:34:00
--  
 实现鸟...具体看代码。
--  作者:akzzwj
--  发布时间:2012/10/15 13:41:00
--  
恩 我看到了 是有的 谢谢
--  作者:akzzwj
--  发布时间:2012/10/15 14:57:00
--  
谢谢 lin_hailun 。代码很经典!