Foxtable(狐表)用户栏目专家坐堂 → 动态控件位置问题


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

主题:动态控件位置问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/9 19:35:00 [显示全部帖子]

上传例子,代码无法直接测试。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/9 19:52:00 [显示全部帖子]

Dim dr As DataRow
Select Case e.Node.Level
    Case 1
        Dim index  As  Integer
        e.Form.Controls("Panel1").ClearControl
        Dim Top As Integer = 0
        For Each cl As DataCol In DataTables("用标签做数据浏览").DataCols
            dr = DataTables("用标签做数据浏览").Find("第一列='" & e.Node.DataRow("第一列") & "' And 第二列 ='" & e.node.DataRow("第二列") & "' And " & cl.Name & " Is Not Null")
            If dr IsNot Nothing Then
                Dim rad As WinForm.Label
                rad = e.Form.CreateControl(cl.Name,ControlTypeEnum.label)
                rad.Font = New Font("微软雅黑",9)
                rad.Text = dr(cl.Name)
                rad.Left = 10
                rad.Top = top
                rad.AutoSize = True
                e.Form.Controls("Panel1").AddControl(rad)
                top += rad.height + 10
                If cl.ExtendType = ExtendTypeEnum.Images Then
                    Dim lst As New List(of String)
                    lst = dr.Lines(cl.Name)
                    For Each ls As String In lst
                        Dim px As WinForm.PictureBox
                        px = e.Form.CreateControl(index ,ControlTypeEnum.PictureBox)
                        px.Width = 100
                        px.Height = 100
                        px.Left = 10
                        px.Top = top
                        px.AutoScroll = False
                        px.Image = GetImage(ProjectPath  & "Attachments\" & ls)
                        px.SizeMode = ImageSizeMode.Zoom
                        Index += 1
                        e.Form.Controls("Panel1").AddControl(px)
                        top += px.height + 10
                    Next
                End If
            End If
        Next
End Select


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/9 20:07:00 [显示全部帖子]

Tables("用标签做数据浏览").Position = Tables("用标签做数据浏览").FindRow(e.Node.DataRow)

Dim dr As DataRow
Select Case e.Node.Level
    Case 1
        Dim index  As  Integer
        Dim ls_img As new List(Of object)
        e.Form.Controls("Panel1").ClearControl
        Dim Top As Integer = 0
        For Each cl As DataCol In DataTables("用标签做数据浏览").DataCols
            dr = DataTables("用标签做数据浏览").Find("第一列='" & e.Node.DataRow("第一列") & "' And 第二列 ='" & e.node.DataRow("第二列") & "' And " & cl.Name & " Is Not Null")
            If dr IsNot Nothing Then
                Dim rad As WinForm.Label
                rad = e.Form.CreateControl(cl.Name,ControlTypeEnum.label)
                rad.Font = New Font("微软雅黑",9)
                rad.Text = dr(cl.Name)
                rad.Left = 10
                rad.Top = top
                rad.AutoSize = True
                e.Form.Controls("Panel1").AddControl(rad)
                top += rad.height + 10
                If cl.ExtendType = ExtendTypeEnum.Images Then
                    Dim lst As New List(of String)
                    lst = dr.Lines(cl.Name)
                    For Each ls As String In lst
                        Dim px As WinForm.PictureBox
                        px = e.Form.CreateControl(index ,ControlTypeEnum.PictureBox)
                        px.Width = 100
                        px.Height = 100
                        px.Left = 10
                        px.Top = top
                        px.AutoScroll = False
                        px.Image = GetImage(ProjectPath  & "Attachments\" & ls)
                        px.SizeMode = ImageSizeMode.Zoom
                        Index += 1
                        ls_img.add(px)
                    Next
                End If
            End If
        Next
        For Each img As object In ls_img
            img.Top = Top
            e.Form.Controls("Panel1").AddControl(img)
            top += img.height + 10
        Next
End Select


 回到顶部