Foxtable(狐表)用户栏目专家坐堂 → 流程图


  共有3751人关注过本帖树形打印复制链接

主题:流程图

帅哥,在线噢!
cd_tdh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
流程图  发帖心情 Post By:2020/3/31 15:07:00 [只看该作者]

老师,我流程图换了个思路,用按钮加图片来控制,中间横线的按钮写了置顶,没起作用,请老师看看?

 

'生成流程图
Dim frm As WinForm.Form = Forms("审核进度")
Dim i As Integer = 0
Dim ajm As List(of DataRow) = DataTables("审核流程表").Select("表名称='测试表'","流程编号")
For Each aj2 As DataRow In ajm
    Dim aj As String = aj2("审核人角色")
    Dim abc As WinForm.Button
    abc = frm.CreateControl(aj,ControlTypeEnum.Button)
    abc.Text = aj
    abc.Height = 60 '控件高度
    abc.Width = 100 '控件宽度
    abc.left = i*120+30
    abc.Top = 35
    abc.Image = GetImage("进度1.png")  '图标
    '按钮样式
    abc.FlatStyle = FlatStyle.flat    '按钮样式
    abc.BackColor = Color.Transparent  '背景颜色
    abc.MouseDownBackColor = Color.Transparent '设置鼠标经过时,按钮的背景颜色
    abc.MouseDownBackColor = Color.Transparent '设置鼠标经过时,按钮的背景颜色
    abc.BorderColor = Color. White '设置按钮边框颜色
    abc.BorderSize = 0 '设置按钮边框厚度,单位为像素
    '图标,文本位置
    abc.ImageAlign= ContentAlignment.TopCenter '图标位置,居中
    abc.TextAlign = ContentAlignment.BottomCenter '名称位置,靠左居中
    frm.AddControl(abc)
   
    Dim aba As WinForm.Button
    aba = frm.CreateControl(aj,ControlTypeEnum.Button)
    aba.Height = 20 '控件高度
    aba.Width = 80 '控件宽度
    aba.Image = GetImage("横线1.png")  '图标
    aba.left = i*120+100
    aba.Top = 45
    '按钮样式
    aba.FlatStyle = FlatStyle.flat    '按钮样式
    aba.BackColor = Color.Transparent  '背景颜色
    aba.MouseDownBackColor = Color.Transparent '设置鼠标经过时,按钮的背景颜色
    aba.MouseDownBackColor = Color.Transparent '设置鼠标经过时,按钮的背景颜色
    aba.BorderColor = Color. White '设置按钮边框颜色
    aba.BorderSize = 0 '设置按钮边框厚度,单位为像素
    '图标,文本位置
    aba.ImageAlign= ContentAlignment.MiddleCenter '图标位置,居中
    'aba.TextAlign = ContentAlignment.BottomCenter '名称位置,靠左居中
    frm.AddControl(aba)
    i+=1
    aba.basecontrol.BringToFront '置前
    'aba.basecontrol.SendToBack  '置后
Next


 回到顶部
帅哥,在线噢!
cd_tdh
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/31 15:26:00 [只看该作者]

置顶解决了,写两个循环分开写就可以了,另外有个问题就是,在流程最后增加一个按钮,名称为“完成”怎么增加进去呢?流程表中没有的。

 


图片点击可在新窗口打开查看此主题相关图片如下:33333333333.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/3/31 15:27:19编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/31 16:17:00 [只看该作者]

在上面代码最后,再添加一个按钮咯

 回到顶部
帅哥,在线噢!
cd_tdh
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/31 16:57:00 [只看该作者]

在请教老师一下,我审核进度换图片问题(图片换成:进度2),找到对应的审核进度的流程编号,后面换图片应该怎么写?

Dim dr As Row = Tables("测试表").Current
Dim dr1  As  DataRow = DataTables("审核流程表").SQLFind("表名称 = '测试表' And 审核状态='" & dr("审批状态") & "'")
msgbox(dr1("流程编号"))

....(不知道怎么写了)

[此贴子已经被作者于2020/3/31 16:57:31编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/31 17:19:00 [只看该作者]

这个?

e.form.controls(dr1("流程编号")).Image = GetImage("进度2.png")

 回到顶部
帅哥,在线噢!
cd_tdh
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/31 20:44:00 [只看该作者]

考试,这样的,如果我一个流程总的有5个流程编号,会绘制6个图标,最后多了一个完成。
我在审核到中间流程时,比如3,让前3个图标都改为:进度2.png
当审核状态查询到的流程编号为5时(也就是最后一个流程编号),6个图标都改为:进度2.png
[此贴子已经被作者于2020/3/31 20:45:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2020/3/31 21:03:00 [只看该作者]

如果你表中有签核结果这列的话,可以根据aj2("签核状态")来识别应该用进度2.png还是进度1.png,

 

我的流程图是根据序号来识别的。

Dim But As WinForm.Button
Dim tb As Table = Tables(e.Form.Name & "_Table1")


For Each f As WinForm.Control In e.Form.Controls("g3").Children
    e.Form.Controls("G3").RemoveControl(f.Name)
Next
Dim i As Integer = 30
For Each r As Row In tb.Rows
    But = e.Form.CreateControl("But流程" & r("权限"), ControlTypeEnum.Button)
    But.Text = r("权限") & vbcrlf &  r("需签人")
    If r("签核状态") = "Y" Then        but.Enabled = False
    But.Left = 5
    but.Width = 75
    but.Height = 45
    But.Top = i
    e.Form.Controls("G3").AddControl(But)
    i += 90
Next
i = 75
For ii As Integer = 0 To tb.Rows.Count - 2
    Dim jpg As WinForm.PictureBox
    jpg = e.Form.CreateControl("Pb" & ii,ControlTypeEnum.PictureBox)
    If tb.Rows(ii)("签核状态") = "Y" Then
        jpg.ImageFile = "\向下14.png"
    Else
        jpg.ImageFile = "\向下15.png"
    End If
    jpg.SizeMode = ImageSizeMode.Zoom
    jpg.Left = 20
    jpg.Top = i
    jpg.Width = 45
    jpg.Height = 45
    jpg.BackColor = Color.WhiteSmoke
    e.Form.Controls("G3").AddControl(Jpg)
    i += 90
Next
e.Form.Controls("G3").Visible = True

[此贴子已经被作者于2020/3/31 21:07:29编辑过]

 回到顶部
帅哥,在线噢!
cd_tdh
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/31 21:22:00 [只看该作者]

流程表中有审批状态,把你的效果发来看看呢?

 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2020/3/31 21:23:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:无标题333.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
cd_tdh
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/31 21:29:00 [只看该作者]

我们意思差不多,我是横向的。

 回到顶部
总数 20 1 2 下一页