以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]PictureViewer的使用问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148356)

--  作者:huangfanzi
--  发布时间:2020/4/6 14:46:00
--  [求助]PictureViewer的使用问题
项目中有个公司名录表,表中有个【附件】列,是用来上传扫描件的,表是用以下方法加载的:
项目Initialize事件
Dim cmd_上下游公司名录 As New SQLCommand
cmd_上下游公司名录.C
cmd_上下游公司名录.C ommandText = "S elect * From {上下游公司名录} Where [_Identify] Is Null"
_dt上下游公司名录 = cmd_上下游公司名录.ExecuteReader(True)

如果不用上面的方法,直接在打开的表上使用时,可以在附件列上设置图片的扩展属性

现在用个窗口及Initialize事件加载模式,有个新增名录窗口,在窗口中做了个PictureViewer控件,此时控件的“绑定到”应该如何写,如果没有绑定到,PictureViewer控件中下面的如增加、打开、删除等按钮根本不能用

请老师指导下,谢谢!

--  作者:有点蓝
--  发布时间:2020/4/6 14:54:00
--  
使用代码给临时表设置扩展属性即可:http://www.foxtable.com/webhelp/topics/1356.htm
--  作者:huangfanzi
--  发布时间:2020/4/6 14:56:00
--  
PictureViewer控件属性中的绑定到如何写呢?是   _dt上下游公司名录.附件  ??
--  作者:有点蓝
--  发布时间:2020/4/6 15:01:00
--  
嗯,控件只能绑定到table,需要窗口表添加一个table控件,然后绑定到datatable。建议直接使用一个窗口表fill:http://www.foxtable.com/webhelp/topics/2912.htm


--  作者:huangfanzi
--  发布时间:2020/4/6 15:15:00
--  
蓝老师,我搞不定,帮我看看代码如何写

窗口中的AfterLoad
Tables(e.Form.Name & "_Table1").Fill("S elect  * From {上下游公司名录} Where [_Identify] Is Null","ShcsErpSql",True)
Tables(e.Form.Name & "_Table1").AutoSizeCols()
DataTables(e.Form.Name & "_Table1").DataCols("附件").ExtendType = ExtendTypeEnum.Images

窗口中有个PictureViewer控件,到了这一步后,如何做,才能使PictureViewer控件点“增加”时能用

--  作者:有点蓝
--  发布时间:2020/4/6 15:58:00
--  
动态设置绑定,参考:http://www.foxtable.com/webhelp/topics/1860.htm
--  作者:huangfanzi
--  发布时间:2020/4/6 16:13:00
--  
还是不行啊
Dim t As Table = Tables(e.Form.Name & "_Table1")
Dim dt As DataTable = DataTables(e.Form.Name & "_Table1")
t.Fill("S elect  * From {上下游公司名录} Where [_Identify] Is Null","ShcsErpSql",True)
t.AutoSizeCols()
dt.DataCols("附件").ExtendType = ExtendTypeEnum.Images
Dim pv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
pv.BindingField = t.Name & ".附件"

--  作者:有点蓝
--  发布时间:2020/4/6 16:28:00
--  
Dim t As Table = Tables(e.Form.Name & "_Table1")
t.Fill("S elect  * From {上下游公司名录} Where [_Identify] Is Null","ShcsErpSql",True)
t.AutoSizeCols()
Dim dt As DataTable = t.DataTable
dt.DataCols("附件").ExtendType = ExtendTypeEnum.Images
Dim pv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
pv.BindingField = t.Name & ".附件"

--  作者:huangfanzi
--  发布时间:2020/4/6 16:38:00
--  
还是不行,我做了个例子,请老师看下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb



--  作者:有点蓝
--  发布时间:2020/4/6 16:50:00
--  
Dim t As Table = Tables(e.Form.Name & "_Table1")
t.Fill("Select  * From {表A} Where [_Identify] Is Null","",False)
t.AutoSizeCols()
Dim dt As DataTable = t.DataTable
dt.DataCols("附件").ExtendType = ExtendTypeEnum.Images
Dim pv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
pv.BindingField = t.Name & ".附件"
t.AllowEdit = True
t.addnew