以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数据验证和数据标记问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124014)

--  作者:旭日生
--  发布时间:2018/8/29 0:07:00
--  数据验证和数据标记问题

不知哪地方语法没有搞懂,老出下面错误,关掉用到Length行的代码,仍然有下面错误提示,一时没弄明白:

 

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.7.28.1
错误所在事件:表,表A,DataColChanged
详细错误信息:
调用的目标发生了异常。
索引和长度必须引用该字符串内的位置。
参数名: length

 

 

 

希望达到的目标:

1、日期列如果不是8个字符,提醒一下,且用红色背景标记出来;

2、如果日期列中的年份与“年度”中的年份不一致,提醒一下。

 

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


--  作者:有点甜
--  发布时间:2018/8/29 10:12:00
--  

datacolchanged事件

 

If e.DataCol.name = "日期" OrElse e.DataCol.name = "年度" Then
    e.DataRow.SetError("日期", "")
    e.DataRow.SetError("年度", "")
    If e.DataRow("日期").length <> 8 Then
        e.DataRow.SetError("日期", "必须8位日期")
    ElseIf e.DataRow("年度").length < 4 Then
        e.DataRow.SetError("年度", "必须输入")
    Else
        Dim s1 = e.DataRow("日期").substring(0,4)
        Dim s2 = e.DataRow("年度").substring(0,4)
        If s1 <> s2 Then
            e.DataRow.SetError("年度", "必须和日期一致")
        End If
    End If
End If


--  作者:旭日生
--  发布时间:2018/8/29 10:26:00
--  
厉害!仰望版主的编程专业素养,希望能学到版主的百分之一水平。