Foxtable(狐表)用户栏目专家坐堂 → [求助]判断问题


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

主题:[求助]判断问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 20:36:00 [显示全部帖子]

以前给你写过啊

 

查询 某列 like '0101%' 的记录,如果没有了,肯定就是最末级了啊。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 21:23:00 [显示全部帖子]

Dim e As object=args(0)
cmd99.CommandText = "Se lect * From {Z001分类编码方案} where [规则列]='"& e.DataCol.Name &"' and  [基础档案名称]='"& e.DataTable.name &"'"
Dim dt1 As DataTable= cmd99.ExecuteReader()
If dt1.DataRows.Count>0 Then
    Dim dr As DataRow=dt1.DataRows(0)
    Dim reg As new System.Text.RegularExpressions.Regex(dr("正则"))
    If reg.Ismatch(e.NewValue) = False Then
        e.Cancel = True
        Return Nothing
    Else
        Dim count As Integer = 0
        Dim prev As String = ""
        For i As Integer = 0 To dr("规则长度").length - 1
            count += val(dr("规则长度").chars(i))
            Dim str As String = e.NewValue.Substring(0, count)
            If count < e.NewValue.length Then
                If e.DataTable.find(dr("规则列") & "='" & str & "'") Is Nothing Then
                    PopMessage("缺少上级编码:" & str,"错误", PopIconEnum.Error, 5)
                    e.Cancel = True
                    Return Nothing
                    Exit For
                Else If e.OldValue = str Then
                    PopMessage("缺少上级编码:" & str,"错误", PopIconEnum.Error, 5)
                    e.Cancel = True
                    Return Nothing
                    Exit For
                End If
            Else If count = e.NewValue.length  Then
                If i = dr("规则长度").length - 1 Then
                    e.DataRow("是否末级") = True
                    e.DataTable.ReplaceFor("是否末级", False, dr("规则列") & "=" & prev)
                Else
                    Dim filter As String = dr("规则列") & "<> '" & str & "' And " & dr("规则列") & " Like '" & str & "*'"
                    If  e.DataTable.find(filter) Is Nothing Then
                        e.DataRow("是否末级") = True
                        filter = dr("规则列") & "= '" & prev & "'"
                        e.DataTable.ReplaceFor("是否末级", False, filter)
                    Else
                        e.DataRow("是否末级") = False
                    End If
                    Exit For
                End If
            End If
            prev = str
        Next
        count = 0
        If e.DataRow("是否末级") = True Then
            For i As Integer = 0 To dr("规则长度").length - 1
                count += val(dr("规则长度").chars(i))
                If count <= e.oldvalue.length Then
                    Dim str As String = e.oldvalue.Substring(0,count)
                    Dim fdr As DataRow = e.DataTable.find("编码规则 like '" & str & "%' and 编码规则 <> '" & str & "' and _Identify <> " & e.DataRow("_Identify"))
                    If fdr Is Nothing
                        e.DataTable.ReplaceFor("是否末级", True, "编码规则 = '" & str & "'")
                    Else
                        e.DataTable.ReplaceFor("是否末级", False, "编码规则 = '" & str & "'")
                    End If
                End If
            Next
        End If
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 21:37:00 [显示全部帖子]

判断就是这样判断

 

Dim fdr As DataRow = e.DataTable.find("编码规则 like '" & str & "%' and 编码规则 <> '" & str & "' and _Identify <> " & e.DataRow("_Identify"))


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 21:44:00 [显示全部帖子]

加上

 

systemready = False

 

systemready = true


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 21:52:00 [显示全部帖子]

systemready = False

 

'红色那段代码

 

systemready = true


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 21:56:00 [显示全部帖子]

怎么不行,出现什么问题啊

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 22:44:00 [显示全部帖子]

我测试没问题啊。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/27 22:53:00 [显示全部帖子]

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/28 0:15:00 [显示全部帖子]

删除行的时候,对应的重置列就行啊,参考21楼代码,参考楼上红色代码。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/28 9:45:00 [显示全部帖子]

汗,重置此表啊。最简单的, DataRowDeleted 直接写啊

 

e.DataTable.DataCols("编码规则").RaiseDataColChanged

 


 回到顶部
总数 11 1 2 下一页