以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 动态生产控件问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=190939) |
-- 作者:cd_tdh -- 发布时间:2024/3/15 9:27:00 -- 动态生产控件问题 审核流程如下: Vars("text") = "日常费用支付管理" \'Vars("text") = Forms("主窗口").Controls("TabControl1").SelectedPage.text Dim Filter As String Filter = "[表名称] = \'" & Vars("text") & "\'" Dim r As Row = Tables(Vars("text")).Current If r IsNot Nothing Then Dim dr As DataRow = DataTables("审核流程管理").SQLFind("表名称 = \'" & Vars("text") & "\'") If dr IsNot Nothing Then \'如果找到的话 Dim dr1 As DataRow = DataTables("审核流程管理").SQLFind("表名称 = \'" & Vars("text") & "\' And 审批状态 = \'" & r("审批状态") & "\'") If dr1 IsNot Nothing Then \'如果找到的话 Dim frm As WinForm.Form = e.Form Dim i As Integer = 0 Dim ajm As List(of DataRow) = DataTables("审核流程管理").sqlS elect(Filter,"","流程编号") \'用sql又排序就必须Top 可选参数,指定返回的行数 \'绘制整个流程的图 For Each aj2 As DataRow In ajm Dim aj As String = aj2("审核人角色") And Dim abc As WinForm.Button abc = frm.CreateControl(aj, ControlTypeEnum.Button) Dim ds1 As DataRow = DataTables("审核意见表").SQLFind("表名称 = \'" & Vars("text") & "\' And 审核部门 = \'" & aj & "\' And ID = \'" & r("ID") & "\'") Dim ds2 As DataRow = DataTables("审核意见表").SQLFind("表名称 = \'" & Vars("text") & "\' And 审核意见 = \'提交申请\' And ID = \'" & r("ID") & "\'") If ds1 IsNot Nothing Then abc.Text = aj & vbcrlf & ds1("审核日期") \'控件名称 ....... 老师,我想审核进度窗口打开时,提交申请按钮也向第2个流程一样显示审核日期,审核日期 = 审核意见表中提交申请的日期,应该怎么修改呢,昨天调试一下午都没弄出来 [此贴子已经被作者于2024/3/15 9:39:54编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/3/15 9:44:00 -- 遍历【审核意见】这个表处理 |
-- 作者:cd_tdh -- 发布时间:2024/3/15 10:01:00 -- 再请教老师,审核意见表中,审核部门没有提交申请,只有审核意见中有,应该怎么改? Vars("text") = "日常费用支付管理" \'Vars("text") = Forms("主窗口").Controls("TabControl1").SelectedPage.text Dim Filter As String Filter = "[表名称] = \'" & Vars("text") & "\'" Dim r As Row = Tables(Vars("text")).Current If r IsNot Nothing Then Dim dr As DataRow = DataTables("审核流程管理").SQLFind("表名称 = \'" & Vars("text") & "\'") If dr IsNot Nothing Then \'如果找到的话 Dim dr1 As DataRow = DataTables("审核流程管理").SQLFind("表名称 = \'" & Vars("text") & "\' And 审批状态 = \'" & r("审批状态") & "\'") If dr1 IsNot Nothing Then \'如果找到的话 Dim frm As WinForm.Form = e.Form Dim i As Integer = 0 Dim ajm As List(Of DataRow) = DataTables("审核意见表").sqlS elect("ID = \'" & r("ID") & "\'", "", "审核日期") \'用sql又排序就必须Top 可选参数,指定返回的行数 \'绘制整个流程的图 For Each aj2 As DataRow In ajm Dim aj As String = aj2("审核部门") Dim abc As WinForm.Button abc = frm.CreateControl(aj, ControlTypeEnum.Button) Dim ds1 As DataRow = DataTables("审核意见表").SQLFind("ID = \'" & r("ID") & "\'") If ds1 IsNot Nothing Then abc.Text = aj & vbcrlf & ds1("审核日期") \'控件名称 |
-- 作者:有点蓝 -- 发布时间:2024/3/15 10:11:00 -- 没看懂,截图说明一下 |
-- 作者:cd_tdh -- 发布时间:2024/3/15 10:16:00 -- 截图在1楼,审核流程表中,第1个流程是任何人都可以提交申请,但是在审批移交表中,就不能用审核部门,只能通过审核意见是:提交申请查找,所以 Dim aj As String = aj2("审核部门") 就显示没法给提交申请赋值,第一流程提交申请就不能显示出来啊
|
-- 作者:有点蓝 -- 发布时间:2024/3/15 10:23:00 -- 判断一下,如果是第一个按钮(步骤)就使用审核意见,后面的按钮就使用部门 |
-- 作者:cd_tdh -- 发布时间:2024/3/15 11:09:00 -- 老师,没改出来,请老师修改一下,完整代码如下: |
-- 作者:有点蓝 -- 发布时间:2024/3/15 11:27:00 -- 没看懂这些代码逻辑。 简单的大概这样 For i as integer = 0 to ajm.count - 1 Dim aj As String if i=0 aj = aj2("审核意见") else aj=aj2("审核部门") end if |
-- 作者:cd_tdh -- 发布时间:2024/3/15 12:30:00 -- 还是按照我第一个办法解决了,动态生成控件完成后,在判断abc.Text的名称,如果存在就改为:abc.Text = "提交申请" & vbcrlf & r("登记日期"),这样解决了 \'为提交申请增加日期时间 If abc.Text = "提交申请" Then abc.Text = "提交申请" & vbcrlf & r("登记日期") abc.Height = 86 \'控件高度 End If |
-- 作者:cd_tdh -- 发布时间:2024/3/15 12:33:00 -- 在请教一下老师,窗口的上面颜色怎么用代码修改 |