删除要还原很麻烦的。不可能知道之前的内容是什么,不可能还原的,所以合并必须很谨慎。(除非你用辅助列把本来的列的值记录下来)
清空删除的内容,参考
'''
Select Case e.DataCol.Name
Case "合并审理","原告出庭","被告出庭"
Dim str As String = e.DataRow("合并审理")
Dim drs = e.DataTable.Select("合并审理 ='" & str & "'")
systemready = False
If e.DataCol.name = "合并审理" AndAlso e.OldValue <> Nothing Then
For Each dr As DataRow In e.DataTable.Select("合并审理 ='" & e.oldvalue & "' and _Identify <> '" & e.DataRow("_Identify") & "'")
dr("原告出庭") = Nothing
dr("被告出庭") = Nothing
dr("合并审理") = Nothing
Next
End If
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(\([0-9]+\)[鲁0-9]+)|(行初[0-9\-]+)|(赔初[0-9\-]+)|(行终[0-9\-]+)|([0-9\-]+)")
Dim qz As String = ""
Dim lx As String = ""
For i As Integer = 0 To mc.count-1
Dim s As String = mc(i).value
'msgbox(s)
If i = 0 Then
qz = s
Else
If s.StartsWith("行初") Then
lx = "行初"
s = s.replace("行初", "")
ElseIf s.StartsWith("赔初") Then
lx = "行赔初"
s = s.replace("赔初", "")
ElseIf s.StartsWith("行终") Then
lx = "行终"
s = s.replace("行终", "")
End If
Dim ii = 0
Dim jj = 0
If s.Indexof("-") >= 0 Then
ii = s.split("-")(0)
jj = s.split("-")(1)
Else
ii = s
jj = s
End If
For k As Integer = ii To jj
'msgbox(qz & lx & k & "号")
Dim dr1 As DataRow
dr1 = DataTables("数据表").Find("[案号] = '" & qz & lx & k & "号" & "'")
If dr1 IsNot Nothing Then
Dim ls As new List(of String)
Dim ls1 As new List(of String)
For Each cdr As DataRow In drs
For Each l As String In cdr.lines("原告出庭")
If ls.Contains(l) = False Then
ls.Add(l)
End If
Next
For Each l1 As String In cdr.lines("被告出庭")
If ls1.Contains(l1) = False Then
ls1.Add(l1)
End If
Next
Next
dr1.lines("原告出庭") = ls
dr1.lines("被告出庭") = ls1
dr1("合并审理") = str
End If
Next
End If
Next
systemready = True
End Select