以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]复选框勾选行写入表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=113646)

--  作者:天一生水
--  发布时间:2018/1/19 22:39:00
--  [求助]复选框勾选行写入表

我想把窗口表   Tables("传票编辑_table1")中  复选框勾选的行写入  “机关维护”表,加黑的代码怎样修改?

谢谢!

 

Dim t As Table = Tables("机关维护")
For Each r As Row In Tables("传票编辑_table1").GetCheckedRows
    Dim r2 As Row  = Tables("机关维护").AddNew
    r2("机关名称") = r("收件人_单位名称")
    r2("住所地") = r("收件人_地址")
    r2("委托代理人1_姓名") = r("收件人_姓名")
    r2("委托代理人1_联系电话") = r("收件人_移动电话")
    r2("委托代理人1_单位") = r("收件人_单位名称")
    Tables("机关维护").Sort = "机关名称"
Next

 

增加一个问题:能否以“机关名称”作为标志列,先判断一下是否有重复行,提示“覆盖”或“新增”写入。

[此贴子已经被作者于2018/1/19 22:47:24编辑过]

--  作者:有点蓝
--  发布时间:2018/1/19 23:17:00
--  
Dim dt As DataTable = DataTables("机关维护")
Dim fg As Boolean
Dim r2 As DataRow
For Each r As Row In Tables("传票编辑_table1").GetCheckedRows
    r2 = dt.Find("机关名称=\'" & r("收件人_单位名称") & "\'")
    If r2 IsNot Nothing Then
        If MessageBox.Show("是否覆盖?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
            fg = True
        End If
    End If
Next

For Each r As Row In Tables("传票编辑_table1").GetCheckedRows
    r2 = dt.Find("机关名称=\'" & r("收件人_单位名称") & "\'")
    If r2 IsNot
        If fg = False Then
            Continue For
        End If
    Else
        r2   = dt.AddNew
    End If
    r2("机关名称") = r("收件人_单位名称")
    r2("住所地") = r("收件人_地址")
    r2("委托代理人1_姓名") = r("收件人_姓名")
    r2("委托代理人1_联系电话") = r("收件人_移动电话")
    r2("委托代理人1_单位") = r("收件人_单位名称")
    Tables("机关维护").Sort = "机关名称"
Next

Tables("机关维护").Sort = "机关名称"