以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]ValidateEdit 中的判断 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71073) |
-- 作者:blsu33 -- 发布时间:2015/7/4 11:59:00 -- [求助]ValidateEdit 中的判断 老师, 想要在ValidateEdit 判断是否符合正则,这块怎么写? Dim r1 As Row Dim fdr As Integer = Tables("分类编码方案").Findrow("基础档案名称 = \'部门档案\'") If e.Col.Name = "编码名称" OrElse e.Col.Name = "编码规则" Then If e.Text = "" OrElse e.text.Contains(" ") Then \'如果已经输入内容 e.Cancel = True \'则禁止退出编辑模式 Else If fdr>0 Then Dim r As Row=Tables("部门档案").Current MessageBox.Show(r1("正则")) Dim reg As new System.Text.RegularExpressions.Regex(r1("正则")) If reg.Ismatch(e.Text) = False Then e.Cancel = True End If End If End If End If [此贴子已经被作者于2015/7/4 12:08:29编辑过]
|
-- 作者:blsu33 -- 发布时间:2015/7/4 12:09:00 -- .NET Framework 版本:2.0.50727.3053 Foxtable 版本:2014.11.11.1 错误所在事件:部门档案,ValidateEdit 详细错误信息: 未将对象引用设置到对象的实例。 |
-- 作者:狐狸爸爸 -- 发布时间:2015/7/4 14:06:00 -- 先用这个分析一下,看看那一行代码出错: http://www.foxtable.com/help/topics/1485.htm 另: Dim r As Row=Tables("部门档案").Current 事件中最好不要用Current,用e参数,例如e.DataRow 、e.Row表示触发时间的行,所以应该这样写: Dim r As Row=e.Row.Current 看看: http://www.foxtable.com/help/topics/0604.htm |
-- 作者:blsu33 -- 发布时间:2015/7/5 18:07:00 -- 红袍老师, 这个应该怎么写向您学习下?
|
-- 作者:大红袍 -- 发布时间:2015/7/6 9:57:00 -- Dim r1 As Row
其中r1就没有被赋值,肯定报错 |