Foxtable(狐表)用户栏目专家坐堂 → 图片,文件,多文件列,局域网存放目录动态设置?


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

主题:图片,文件,多文件列,局域网存放目录动态设置?

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/15 10:10:00 [只看该作者]

跟这个窗口。图片列,类型,里面的:远程文件;false有没有关系?
图片点击可在新窗口打开查看此主题相关图片如下:33.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/15 10:14:00 [只看该作者]

 有可能是,控件不继承DefaultFolder的值,每次都重新设置成空白了。你需要在afterLoad事件重新设置。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/15 10:17:00 [只看该作者]

以下是引用yancheng在2016/12/15 9:48:00的发言:
有没有好的点的办法。好多窗口(几十个窗口),一一写,好麻烦。万 一,一个写漏了,就不显示。 

 

要给每个窗口的afterLoad事件写一句代码,如

 

Functions.Execute("窗口初始化", e)

 

然后,去编写一个内部函数【窗口初始化】,编写你要写的代码,这样修改起来也方便。


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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/15 10:18:00 [只看该作者]

晕,不会吧

我没发布里,在本机,能显示。为什么发布了就不显示了呢。

只是在没有发布里,用msgbox(DataTables("材料").DataCols("图片").DefaultFolder )也为空
[此贴子已经被作者于2016/12/15 10:20:42编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/15 10:25:00 [只看该作者]

 看23楼,重新设置一次defaultFolder

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/15 17:15:00 [只看该作者]

Functions.Execute("窗口初始化", e) 写入:

Dim strr As String = e.Form.Name
Dim ns As new List (of String)
For Each dtt As DataTable In DataTables
ns.Add(dtt.name)
If ns.Contains(strr) Then
    For Each dc As DataCol In DataTables(strr).DataCols
        If dc.ExtendType = ExtendTypeEnum.File OrElse dc.ExtendType =ExtendTypeEnum.Files OrElse dc.ExtendType =ExtendTypeEnum.Images Then
           
 DataTables(strr).DataCols(dc.Name).DefaultFolder = "\\192.168.40.102\data$\project\Attachments\"
'msgbox(DataTables(str).DataCols(dc.Name).DefaultFolder )
        End If
    Next
End If
Next

但是,主窗口:如材料,刚打开,可以显示 。我双击打开:材料维护后,就图片文件不能显示 了。再回到:材料主窗口,也不能显示了。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/15 17:31:00 [只看该作者]

打开 材料维护 的时候,有执行到 defaultFolder 的代码吗?加上msgbox试试

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/15 18:15:00 [只看该作者]

Dim e As Object = Args(0)
Msgbox(e.Form.FormStyle = FormStyleEnum.模式)
If e.Form.FormStyle = FormStyleEnum.并列 Then
    Dim strr As String = e.Form.Name
    Dim ns As new List (of String)
    For Each dtt As DataTable In DataTables
        ns.Add(dtt.name)
        If ns.Contains(strr)  Then
            For Each dc As DataCol In DataTables(strr).DataCols
                If dc.ExtendType = ExtendTypeEnum.File OrElse dc.ExtendType =ExtendTypeEnum.Files OrElse dc.ExtendType =ExtendTypeEnum.Images Then
                    DataTables(strr).DataCols(dc.Name).DefaultFolder = "\\192.168.40.102\data$\project\Attachments\"
                    'msgbox(DataTables(str).DataCols(dc.Name).DefaultFolder )
                End If
            Next
        End If
    Next
ElseIf e.Form.FormStyle = FormStyleEnum.独立 OrElse  e.Form.FormStyle = FormStyleEnum.模式 Then
    Dim ns1 As new List (of String)
    Dim strr1 As String = e.Form.TableName
    For Each dtt1 As DataTable In DataTables
        ns1.Add(dtt1.name)
msgbox(ns1.Contains(strr1) )
        If ns1.Contains(strr1) Then
            For Each dc As DataCol In DataTables(strr1).DataCols
                If dc.ExtendType = ExtendTypeEnum.File OrElse dc.ExtendType =ExtendTypeEnum.Files OrElse dc.ExtendType =ExtendTypeEnum.Images Then
                    DataTables(strr1).DataCols(dc.Name).DefaultFolder = "\\192.168.40.102\data$\project\Attachments\"
                    'msgbox(DataTables(str).DataCols(dc.Name).DefaultFolder )
                End If
            Next
        End If
    Next
End If

我现在改了一下代码。主表能指点路径了。
如:材料维护,一样的,:模式,和独立 窗口。我用的是找它的:所有者表,但是,我发现有的维护 窗口没有指定所有者表。这样就没办法,指定路径了。
有没有什么办法,来指定模式窗口路径?

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


加好友 发短信
等级:超级版主 帖子:106016 积分:539167 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/15 21:52:00 [只看该作者]

给所有窗口都设置上所有者表不就行了

Dim e As Object = Args(0)

If DataTables.Contains(e.Form.TableName) Then
    Dim dtt1 As DataTable = DataTables(e.Form.TableName)
    For Each dc As DataCol In dtt1.DataCols
        If dc.ExtendType = ExtendTypeEnum.File OrElse dc.ExtendType =ExtendTypeEnum.Files OrElse dc.ExtendType =ExtendTypeEnum.Images Then
            dtt1.DataCols(dc.Name).DefaultFolder = "\\192.168.40.102\data$\project\Attachments\"
        End If
    Next
End If


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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/16 8:26:00 [只看该作者]

不能这样判断。我所有的:并列主窗口,的所有者表,都 是功能导航。许多模式窗口,没有指定所有者表。
我现在有这样的方法,如下:但是请蓝老师。帮我调整一下代码。因为,这个代码是没办法了,这样写,很不效率。也有错误。

Dim e As Object = Args(0)
'OrElse  Typeof c Is WinForm.PictureBox OrElse  Typeof c Is WinForm.PictureViewer WinForm.FileManager Trim(")
For Each c As WinForm.Control In e.Form.Controls
    'Dim v() As String = {"WinForm.PictureViewer","WinForm.FileManager","WinForm.PictureBox"}
    
    If Typeof c Is WinForm.PictureViewer Then '判断控件是否是文本框
        Dim t As WinForm.PictureViewer = c
        
        Dim nm As String = t.BindingField '获取绑定的字段
        Dim strr As String = nm.Split(".")(0)
        Dim ns As new List (of String)
        For Each dtt As DataTable In DataTables
            ns.Add(dtt.name)
            If ns.Contains(strr)  Then
                'For Each dc As DataCol In DataTables(strr).DataCols
                    'If dc.ExtendType = ExtendTypeEnum.File OrElse dc.ExtendType =ExtendTypeEnum.Files OrElse dc.ExtendType =ExtendTypeEnum.Images Then
                        DataTables(strr).DataCols(nm.Split(".")(1)).DefaultFolder = "\\192.168.40.102\data$\project\Attachments1\"
                        'msgbox(DataTables(str).DataCols(dc.Name).DefaultFolder )
                    'End If
                'Next
            End If
        Next
    End If
Next
For Each b As WinForm.Control In e.Form.Controls
    If Typeof b Is WinForm.FileManager Then '判断控件是否是文本框
        Dim t As WinForm.FileManager = b
        
        Dim nm As String = t.BindingField '获取绑定的字段
        Dim strr As String = nm.Split(".")(0)
        Dim ns As new List (of String)
        For Each dtt As DataTable In DataTables
            ns.Add(dtt.name)
            If ns.Contains(strr)  Then
                'For Each dc As DataCol In DataTables(strr).DataCols
                    'If dc.ExtendType = ExtendTypeEnum.File OrElse dc.ExtendType =ExtendTypeEnum.Files OrElse dc.ExtendType =ExtendTypeEnum.Images Then
                        DataTables(strr).DataCols(nm.Split(".")(1)).DefaultFolder = "\\192.168.40.102\data$\project\Attachments1\"
                        'msgbox(DataTables(str).DataCols(dc.Name).DefaultFolder )
                    'End If
                'Next
            End If
        Next
    End If
Next
For Each d As WinForm.Control In e.Form.Controls
    If Typeof d Is WinForm.PictureBox Then '判断控件是否是文本框
        Dim t As WinForm.PictureBox = d
        
        Dim nm As String = t.BindingField '获取绑定的字段
        Dim strr As String = nm.Split(".")(0)
        Dim ns As new List (of String)
        For Each dtt As DataTable In DataTables
            ns.Add(dtt.name)
            If ns.Contains(strr)  Then
                'For Each dc As DataCol In DataTables(strr).DataCols
                    'If dc.ExtendType = ExtendTypeEnum.File OrElse dc.ExtendType =ExtendTypeEnum.Files OrElse dc.ExtendType =ExtendTypeEnum.Images Then
                        DataTables(strr).DataCols(nm.Split(".")(1)).DefaultFolder = "\\192.168.40.102\data$\project\Attachments1\"
                        'msgbox(DataTables(str).DataCols(dc.Name).DefaultFolder )
                    'End If
                'Next
            End If
        Next
    End If
Next

 回到顶部
总数 38 上一页 1 2 3 4 下一页