以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]单元格追加  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119405)

--  作者:天一生水
--  发布时间:2018/5/24 11:42:00
--  [求助]单元格追加

在“EMS编辑”表中一个案号,存在多个时间点的邮寄事项,见图1;

希望将多个不同时间的[邮寄清单]追加写入“数据表”,见图2。

---------------

问题:

1、“EMS编辑”表的双击事件代码,设置了区别列的代码,但没起作用,现在双击时对所有列都起作用,代码如下;

For Each c As Col In Tables("EMS编辑").Cols    
    If c.name.StartsWith("文书类别_") = True Then
        e.Row(CurrentTable.Cols(CurrentTable.ColSel).name) = "√"
    End If
Next

 

2、怎样将多个不同时间的[邮寄清单]写入“数据表”的[送达清单],代码写了一部分,请老师指教,谢谢!

Select Case e.DataCol.Name   \'写入数据表
    Case "案号"
        Dim dr1 As DataRow
        If e.OldValue = Nothing Then
            dr1 = DataTables("数据表").Find("[案号] = \'" & e.NewValue & "\'")
        Else
            dr1 = DataTables("数据表").Find("[案号] = \'" & e.oldvalue & "\'")
        End If
    Case "案号","邮寄清单"
        Dim dr1 = DataTables("数据表").Find("[案号] = \'" & e.DataRow("案号") & "\'")
        If dr1 IsNot Nothing Then
            dr1("案号") = e.DataRow("案号")
            dr1("送达清单") = e.DataRow("邮寄清单")
        End If
End Select

 


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

图片点击可在新窗口打开查看此主题相关图片如下:image 3.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单元格追加.table


--  作者:有点甜
--  发布时间:2018/5/24 11:57:00
--  

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "文书类别_受理案件通知书","文书类别_起诉或反诉状副本","文书类别_答辩状副本","文书类别_举证通知书","文书类别_传票","文书类别_出庭通知书","文书类别_其他2","文书类别_其他1"
        Dim dr1 = DataTables("数据表").Find("[案号] = \'" & e.DataRow("案号") & "\'")
        If dr1 IsNot Nothing Then
            Dim str As String = ""
            For Each dr In e.DataTable.Select("[案号] = \'" & e.DataRow("案号") & "\'", "收寄日期")
                dr("邮寄清单") = IIF(dr.IsNull("文书类别_受理案件通知书"),"",dr("收寄日期") & "受理案件通知书" + vbcrlf)
                dr("邮寄清单") += IIF(dr.IsNull("文书类别_起诉或反诉状副本"),"",dr("收寄日期") & "起诉或反诉状副本" + vbcrlf)
                dr("邮寄清单") += IIF(dr.IsNull("文书类别_答辩状副本"),"",dr("收寄日期") & "答辩状副本" + vbcrlf)
                dr("邮寄清单") += IIF(dr.IsNull("文书类别_举证通知书"),"",dr("收寄日期") & "举证通知书" + vbcrlf)
                dr("邮寄清单") += IIF(dr.IsNull("文书类别_传票"),"",dr("收寄日期") & "传票" + vbcrlf)
                dr("邮寄清单") += IIF(dr.IsNull("文书类别_出庭通知书"),"",dr("收寄日期") & "出庭通知书" + vbcrlf)
                dr("邮寄清单") += IIF(dr.IsNull("文书类别_其他1"),"",dr("收寄日期") & dr("文书类别_其他1")+vbcrlf)
                dr("邮寄清单") += IIF(dr.IsNull("文书类别_其他2"),"",dr("收寄日期") & dr("文书类别_其他2")+vbcrlf)
                dr("邮寄清单") = dr("邮寄清单").trimend(vbcrlf)
                str &= dr("邮寄清单")
            Next
            dr1("送达清单") = str
        End If
End Select

\'-----------------------
Select Case e.DataCol.Name   \'写入数据表
    Case "案号"
        Dim dr1 As DataRow
        If e.OldValue = Nothing Then
            dr1 = DataTables("数据表").Find("[案号] = \'" & e.NewValue & "\'")
        Else
            dr1 = DataTables("数据表").Find("[案号] = \'" & e.oldvalue & "\'")
        End If
End Select


--  作者:天一生水
--  发布时间:2018/5/24 13:28:00
--  

谢谢老师!

再帮忙看看第一个问题,为什么代码没在特定列起作用?

 

1、“EMS编辑”表的双击事件代码,设置了区别列的代码,但没起作用,现在双击时对所有列都起作用,代码如下:

For Each c As Col In Tables("EMS编辑").Cols    
    If c.name.StartsWith("文书类别_") = True Then
        e.Row(CurrentTable.Cols(CurrentTable.ColSel).name) = "√"
    End If
Next

[此贴子已经被作者于2018/5/24 13:28:00编辑过]

--  作者:有点甜
--  发布时间:2018/5/24 14:39:00
--  

If c.Col.name.StartsWith("文书类别_") = True Then
    e.Row(e.Col.name) = "√"
End If