以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态生产控件问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190939)

--  作者:cd_tdh
--  发布时间:2024/3/15 9:27:00
--  动态生产控件问题
审核流程如下:


图片点击可在新窗口打开查看此主题相关图片如下:审核流程.jpg
图片点击可在新窗口打开查看

审核意见如下:


图片点击可在新窗口打开查看此主题相关图片如下:审核意见.jpg
图片点击可在新窗口打开查看

生成控件部分代码如下:
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("审核日期") \'控件名称
                    .......

图片点击可在新窗口打开查看此主题相关图片如下:审核进度.jpg
图片点击可在新窗口打开查看

老师,我想审核进度窗口打开时,提交申请按钮也向第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
--  
老师,没改出来,请老师修改一下,完整代码如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.txt



--  作者:有点蓝
--  发布时间: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 


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


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



--  作者:cd_tdh
--  发布时间:2024/3/15 12:33:00
--  
在请教一下老师,窗口的上面颜色怎么用代码修改

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