以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [分享]在查询窗口中查看上传的图片 给新人看的 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148270) |
-- 作者:huangfanzi -- 发布时间:2020/4/3 16:01:00 -- [分享]在查询窗口中查看上传的图片 给新人看的 今天在蓝老师的帮助下,把我使得了2年的项目中关于查看上传图片的功能优化了下,现在可以在查询窗口中显示上传的合同扫描件了 全局代码: Public _Bmlm As String \'定义双击单元格所对应的表名与列名 Public _Mrlj As String \'定义默认路径 合同表BeforeAttachFile事件 Dim dr As DataRow = e.DataRow If dr.IsNull("合同号") Then MessageBox.Show("请先输入合同号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True Else Dim t As String = Format(Date.Now,"yyyyMMddhhmmss") e.FileName = _UserName & "-" & t & "-" & dr("合同号") & "." & e.FileName.SubString(e.FileName.LastIndexof(".") + 1) ‘上传文件时生成一个由用户名+时间+合同号的文件名,这样可以防止由于同名而覆盖掉老文件,_UserName是人全局变量,用于记录当前登录用户的名字 End If 查询窗口中有一按钮与一个table控件 查询按钮: Tables(e.Form.Name & "_Table1").Fill("S elect 合同号,扫描件 From {原料采购合同} Where 扫描件 IS NOT NULL","ShcsErpSql",True) table表控件 设置SQLQuery类型 DoubleClick表事件 If e.Col.name = "扫描件" AndAlso e.Row.isnull("扫描件") = False _Bmlm = e.Table.Name & "." & e.Col.Name _Mrlj = "\\\\SERVER-NEW\\ShcsErpSql文件目录$\\采购合同扫描件" DataTables(e.Table.Name).DataCols(e.Col.name).DefaultFolder = _Mrlj \'指定文件的存储位置 Forms("扫描件查看").show() End If 扫描件查看窗口,就一个PictureViewer控件: 窗口AfterLoad事件 Dim pv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1") \'关闭PictureViewer的命令 pv.AddCommand.Visible = False pv.DeleteCommand.Visible = False pv.ClearCommand.Visible = False pv.BindingField = _Bmlm \'全局变量 表名列名 定义绑定字段 AfterClose _Bmlm = Nothing _Mrlj = Nothing |
-- 作者:有点蓝 -- 发布时间:2020/4/3 16:15:00 -- 多谢分享!如果是给新人看的,建议做个例子发上来. |