Select Case e.DataCol.Name
Case "页数"
Dim dr As DataRow
Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") '找出上一行
If dr Is Nothing Then '如果没有找到上一行,说明本行就是第一行
e.DataRow("开始页") = 1
dr = e.DataRow
End If
drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
For i As Integer = 1 To drs.Count - 1 '
drs(i)("开始页") = drs(i-1)("结束页") + 1
Next
Case "开始页"
If e.DataRow.IsNull("开始页") Then
e.DataRow("结束页") = Nothing
Else
e.DataRow("结束页") = e.DataRow("开始页") + e.DataRow("页数") - 1
End If
End Select
以上代码执行后如下图:

此主题相关图片如下:未标题-1.jpg

我想实现下图效果,根据“台账编号或台账名称”使“开始页”和“结束页”能根据“页数”给定的数连续相加。

此主题相关图片如下:1.jpg

求高手帮助解决。
[此贴子已经被作者于2017/5/13 22:17:39编辑过]