Foxtable(狐表)用户栏目专家坐堂 → [求助]规则错误的动态提示


  共有4574人关注过本帖树形打印复制链接

主题:[求助]规则错误的动态提示

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]规则错误的动态提示  发帖心情 Post By:2013/6/16 15:07:00 [只看该作者]

本意是这样的。
表C中有一列Code,将来要构造树用,所以,它满足用“."分隔开的数据规则,例如1, 1.1 ,1.1.2, 1.2等等。
但难免有输入错误的时候,例如在没有1.5这个编号的时候,直接输了1.5.8,就提示用户的编号规则有错误,要重新输入。

这里面有两种情况
A,父节点的编号调整,如原来编号为1.5的改成了1.8,那么原来的1.5.1 ,1.5.N就需要提示规则有错误
B,子节点的编号调整或增加,如在没有1.9节点的情况下,输入了1.9.1或者将原来的某个节点改成了1.9.N,则需要提示用户规则有错误。

调试了一番,有点问题。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号规则错误动态提示.table

请各位狐神指教。 

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/6/16 22:43:00 [只看该作者]

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号规则错误动态提示.table

[此贴子已经被作者于2013-6-17 7:09:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2013/6/20 17:46:00 [只看该作者]

很感谢。不过我自己解决它了。

Select Case e.Col.Name
    Case "Code"
        For Each r As Row In e.Table.Rows
            Dim Values() As String = r("Code").split(".")
            If Values.Length = 1 Then
                r.DataRow.SetError("Code","")
            Else
                Dim cscode As String = ""  '个人认为问题出在这里,因为下一次遍历的时候,它会已经存在值。开始遍历的时候给它赋空值,就可以了。
                For i  As Integer =  0 To Values.Length - 2
                    cscode = CSCode & "." & Values(i)
                    Dim cs As Integer = e.Table.FindRow(" Code = '" & CSCode.trim(".") & "'",e.Table.Position + 1 ,True )
                    If cs < 0 Then
                        r.DataRow.SetError("Code", "上级节点编号规则有误,请检查重新输入!")
                        Exit For
                    Else
                        r.DataRow.SetError("Code","")
                    End If
                Next
            End If
        Next
End Select

 回到顶部