以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何判断窗口TextBox内容是否改变 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26586) |
-- 作者:Gryvip -- 发布时间:2012/12/9 1:39:00 -- [求助]如何判断窗口TextBox内容是否改变 求教各位师兄,为了禁止列内容重复,写了以下代码 If e.Sender.Value = DataTables("工程信息").GetComboListString("工程简称") If e.Sender.Value IsNot e.Sender.NewValue Then MessageBox.Show("此《工程简称》已经存在,不可以重复,请修改!") e.Cancel = True End If End If 遇到以下错误,请指教,谢谢 [此贴子已经被作者于2012-12-9 1:43:26编辑过]
|
-- 作者:zerov -- 发布时间:2012/12/9 7:38:00 -- 应该先定义textbox的newvalue值 |
-- 作者:blackzhu -- 发布时间:2012/12/9 9:45:00 -- 文本框不存在新值和旧值的.你现在是绑定的,请在表事件中写. |
-- 作者:程兴刚 -- 发布时间:2012/12/9 12:12:00 -- 他的代码不单单是这个问题,这样避免重复是达不到实效的! |
-- 作者:狐狸爸爸 -- 发布时间:2012/12/9 12:31:00 -- 是的,既然是绑定,就用DataColchanging事件:
http://www.foxtable.com/help/topics/0624.htm
|
-- 作者:Gryvip -- 发布时间:2012/12/9 13:15:00 -- 在表事件DataColchanging中设置以下代码,已解决问题,谢谢各位的热心帮助。 If e.DataCol.Name = "工程简称" Then Dim dr As DataRow dr = e.DataTable.Find("工程简称 = \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("此《工程简称》已经存在,不可以重复,请修改!") e.Cancel = True End If End If |
-- 作者:unverse -- 发布时间:2012/12/9 23:24:00 -- 应该用datatable的FIND功能查询一下。是否存在,如果存在则提示。取消,如果不存在则继续。。 |