Foxtable(狐表)用户栏目专家坐堂 → 动态增加控件重复值提取的问题


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

主题:动态增加控件重复值提取的问题

帅哥哟,离线,有人找我吗?
douglas738888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
动态增加控件重复值提取的问题  发帖心情 Post By:2018/7/6 11:10:00 [只看该作者]

请教老师,下面动态增加控件代码如何修改能执行帮助例子的这种效果,不知道如何转换字符数组集合与Integer的转换了

 

动态增加控件后想得到的效果             现在代码生成的效果是

 

造价部|小米                                   造价部小米

造价部|小龙                                   市场部小龙

造价部|小刘                                           小刘

市场部|小吴                                           小吴

 

帮助例子

Dim Arys As List(Of String()) = DataTables("窗口2_Table1").GetValues("审批部门|审批人员") '字符数组集合

 

 

动态增加控件

Dim ls As List(Of String) = DataTables("窗口2_Table1").GetValues("审批部门","[审批类别] = '执行会审'","拟文_时间")  '字符集合
Dim t As Double = 0
Dim l As Double = 0
Dim m As Integer = ls.Count Mod 1

For i As Integer = 0 To ls.Count - 1 
    Dim btn As WinForm.Label
    btn = e.Form.CreateControl("Label" & ls(i), ControlTypeEnum.Label)
    btn.Text = ls(i)
    btn.TextAlign = System.Drawing.ContentAlignment.MiddleCenter

    If i = 0 Then
        t = 75 '100
        l = 0
    Else If i Mod 1 = 0 
        t + = 40 '150
        l = 0
    Else
        l + = 300 
    End If
    btn.Width = 110
    'btn.Autosize = True
    btn.BackColor = Color.Gainsboro
    btn.Height = 30
    btn.Left = l + 350
    btn.Top = t
    'e.Form.AddControl(btn)
    e.Form.Controls("Panel1").AddControl(btn)
Next

[此贴子已经被作者于2018/7/6 11:10:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/6 11:38:00 [只看该作者]

Dim ls As List(Of String()) = DataTables("窗口2_Table1").GetValues("审批部门|审批人员","[审批类别] = '执行会审'","拟文_时间")  '字符集合
Dim t As Double = 0
Dim l As Double = 0
Dim m As Integer = ls.Count Mod 1

For i As Integer = 0 To ls.Count - 1
    Dim btn As WinForm.Label
    btn = e.Form.CreateControl("Label" & ls(i)(0) & "|" & ls(i)(1), ControlTypeEnum.Label)
    btn.Text = ls(i)(0) & "|" & ls(i)(1)
    btn.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
    If i = 0 Then
        t = 75 '100
        l = 0
    Else If i Mod 1 = 0
        t + = 40 '150
        l = 0
    Else
        l + = 300
    End If
    btn.Width = 110
    'btn.Autosize = True
    btn.BackColor = Color.Gainsboro
    btn.Height = 30
    btn.Left = l + 350
    btn.Top = t
    'e.Form.AddControl(btn)
    e.Form.Controls("Panel1").AddControl(btn)
Next


 回到顶部