老师您好!我设置了工程合同数据基础表的流程设置,每个用户会根据“流程设置”表中的节点(进度)加载数据到“我的工作台”表,但是我的“工程合同数据基础表”是整个项目的主表,设置了分页加载(每页20条记录),现在以下命令在”我的工作台“表中只会加载第一页的20条记录。
请问在以下命令中怎么样复制附合条件的后台数据行?请指教!
以下是主表DataColChanged代码:
For Each sz As DataRow In DataTables("流程设置").Select("姓名 = '" & User.Name & "'")
If e.DataCol.Name = "进度" AndAlso e.DataRow("进度") = sz("进度") Then
Dim nma() As String = {"进度","合同编号","工程名称","所属部门_区域公司","所属部门_分公司","录入日期","记录编号"} '工程合同数据基础表数据来源列
Dim nmb() As String = {"进度","合同编号","工程名称","所属部门_区域公司","所属部门_分公司","申请日期","记录编号"} '我的工作台表数据接收列
Dim dr As DataRow = DataTables("我的工作台").AddNew
For i As Integer = 0 To nma.Length - 1
dr(nmb(i)) = e.DataRow(nma(i))
“我的工作台”表是内部表,项目每次启动会先清除所有行,然后重新加载。
以下是我的工作台窗口更新按钮代码:
'显示工程合同登记待办
Dim F1 As String = "(进度 <> 'SLHT2B')"
If User.Type = UserTypeEnum.Administrator Then
DataTables("工程合同基础数据").LoadFilter = F1
Else If User.Type = UserTypeEnum.Developer Then
DataTables("工程合同基础数据").LoadFilter = F1
Else If User.Group = "总公司" Then
DataTables("工程合同基础数据").LoadFilter = F1
Else If User.Group Like "*区域" Then
DataTables("工程合同基础数据").LoadFilter = "所属部门_区域公司 = '" & User.Group & "' And" & F1
Else If User.Group Like "*分公司" Then
DataTables("工程合同基础数据").LoadFilter = "所属部门_分公司 = '" & User.Group & "'And" & F1
Else If User.Group = "项目部" Then
Dim dr As DataRow
dr = DataTables("操作人员").SQLFind("[姓名] = '" & User.name & "'")
If dr IsNot Nothing
DataTables("工程合同基础数据").LoadFilter = "项目部全称 = '" & dr("项目部全称") & "'"
End If
End If
DataTables("工程合同基础数据").Load()
DataTables("工程合同基础数据").DataCols("进度").RaiseDataColChanged()
Dim t As Table = Tables("我的工作台")
Dim n As Integer = t.DataTable.GetValues("记录编号", t.filter).count
Dim lbl As WinForm.Label
Dim lb2 As WinForm.Label
lb2 = e.Form.Controls("Label2")
lb2.Text = "您的待办事项有" & n & "条"
If n = 0 Then
e.Form.Controls("Label1").Visible = True
lbl = e.Form.Controls("Label1")
lbl.Text = "没有数据"
Else
e.Form.Controls("Label1").Visible = False
End If