以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]绑定编辑  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133474)

--  作者:天一生水
--  发布时间:2019/4/15 11:22:00
--  [求助]绑定编辑

我把“上诉案号”窗口,绑定“上诉管理”窗口表的当前行,对一审案号、二审案号进行编辑。
在双击“上诉管理”窗口表,打开“上诉案号”窗口,以及变动当前行时,提示错误。
请老师帮助看一下是哪里的问题?
谢谢!

 


图片点击可在新窗口打开查看此主题相关图片如下:报错.jpg
图片点击可在新窗口打开查看


 

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


--  作者:有点甜
--  发布时间:2019/4/15 12:25:00
--  

\'\'\'
systemready = False
SetWatermark(e.Form.Controls("TextBox1"),"案号数字")    \'文本框提示
SetWatermark(e.Form.Controls("TextBox2"),"案号数字")

\'-------------------

If Tables("上诉管理_table1").Current IsNot Nothing        \'加上判断
    Dim dr As DataRow = Tables("上诉管理_table1").Current.DataRow
    If dr("案号") <> "" Then
        If dr("案号").Indexof("初") >= 0 Then
            e.Form.Controls("ComboBox2").text = dr("案号").Remove(dr("案号").Indexof("初"))   \'获取案号前缀
        End If
        Dim mc1 = System.Text.RegularExpressions.Regex.Matches(dr("案号"), "(?<=.+?)[0-9]+(?=号)")   \'获取案号数字
        If mc1.count > 0 Then
            Dim i As Integer = val(mc1(0).value)
            e.Form.Controls("TextBox2").text = i
        Else
            e.Form.Controls("TextBox2").text = ""
        End If
    Else
        e.Form.Controls("TextBox2").text = ""
    End If
   
    If dr("二审案号") <> "" Then
        If dr("二审案号").Indexof("终") >= 0 Then
            e.Form.Controls("ComboBox1").text = dr("二审案号").Remove(dr("二审案号").Indexof("终"))   \'获取案号前缀
        End If
        Dim mc = System.Text.RegularExpressions.Regex.Matches(dr("案号"), "(?<=.+?)[0-9]+(?=号)")
        If mc.count > 0 Then
            Dim i As Integer = val(mc(0).value)
            e.Form.Controls("TextBox1").text = i
        Else
            e.Form.Controls("TextBox1").text = ""
        End If
    Else
        e.Form.Controls("TextBox1").text = ""
    End If
End If
systemready = True


--  作者:天一生水
--  发布时间:2019/4/15 16:59:00
--  

谢谢甜老师!

我把两个ComboBox控件的初始值取消后,打开上诉案号窗口,获取不到当前行的案号前缀。是什么原因?

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看
 

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


--  作者:有点甜
--  发布时间:2019/4/15 17:27:00
--  

\'\'\'
SetWatermark(e.Form.Controls("TextBox1"),"案号数字")    \'文本框提示
SetWatermark(e.Form.Controls("TextBox2"),"案号数字")

systemready = False
\'-------------------

If Tables("上诉管理_table1").Current IsNot Nothing        \'加上判断
    Dim dr As DataRow = Tables("上诉管理_table1").Current.DataRow
    If dr("案号") <> "" Then
        Dim mc2 = System.Text.RegularExpressions.Regex.Matches(dr("案号"), ".+?(?=[0-9]+?号)")   \'获取案号数字
        e.Form.Controls("ComboBox2").text = mc2(0).value
        Dim mc1 = System.Text.RegularExpressions.Regex.Matches(dr("案号"), "(?<=.+?)[0-9]+(?=号)")   \'获取案号数字
        If mc1.count > 0 Then
            Dim i As Integer = val(mc1(0).value)
            e.Form.Controls("TextBox2").text = i
        Else
            e.Form.Controls("TextBox2").text = ""
        End If
    Else
        e.Form.Controls("TextBox2").text = ""
    End If
   
    If dr("二审案号") <> "" Then
        Dim mc2 = System.Text.RegularExpressions.Regex.Matches(dr("二审案号"), ".+?(?=[0-9]+?号)")   \'获取案号数字
        e.Form.Controls("ComboBox1").text = mc2(0).value
        Dim mc = System.Text.RegularExpressions.Regex.Matches(dr("二审案号"), "(?<=.+?)[0-9]+(?=号)")
        If mc.count > 0 Then
            Dim i As Integer = val(mc(0).value)
            e.Form.Controls("TextBox1").text = i
        Else
            e.Form.Controls("TextBox1").text = ""
        End If
    Else
        e.Form.Controls("TextBox1").text = ""
    End If
End If
systemready = True


--  作者:天一生水
--  发布时间:2019/4/19 16:59:00
--  

老师好!

如果案号列不完整,没有案号数字。如图时,怎样判断,避免报错?

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2019/4/19 17:07:00
--  

这里,比如

 

        Dim mc2 = System.Text.RegularExpressions.Regex.Matches(dr("案号"), ".+?(?=[0-9]+?号)")   \'获取案号数字

If mc2.count > 0 then
        e.Form.Controls("ComboBox2").text = mc2(0).value

Else

        e.Form.Controls("ComboBox2").text = ""

End If


--  作者:天一生水
--  发布时间:2019/4/19 20:36:00
--  
如果案号是完整的,双击上诉管理窗口的[案号]列,在弹出的上诉案号窗口,点击“上一行”,“下一行”,没有问题;
如果案号不完整,比如最后一行没有案号的数字,只有案号的前缀。那么从这一行开始,点击“上一行”,“下一行”,结果所有行的案号数字都没有了。是哪里的问题?

图片点击可在新窗口打开查看此主题相关图片如下:录制_2019_04_19_20_25_13_20.gif
图片点击可在新窗口打开查看

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






--  作者:有点蓝
--  发布时间:2019/4/19 21:18:00
--  
2楼的代码到处放,很好玩是不!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试绑定.zip