以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]专业报表打印员工相片的代码问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139512) |
|
-- 作者:hanzhang98 -- 发布时间:2019/8/14 15:32:00 -- [求助]专业报表打印员工相片的代码问题 老师好。专业报表打印员工相片的代码不对,请老师帮助修正。谢谢。 Dim Doc As New PrintDoc Dim rt As New prt.RenderTable() Dim btwb As New prt.RenderText Dim CurRow As Row = Tables("员工").Current Dim fd As String = DataTables("员工").DataCols("照片").DefaultFolder Dim xm As String = Tables("员工").Current("姓名") Dim rm As New prt.RenderImage() \'定义一个图片对象 If fd = "" Then fd = ProjectPath & "RemoteFiles\\Attachments" & "\\" & xm & ".jpg" rm.Image = GetImage(fd) \'要打印的图片的路径和文件名 rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center rm.Style.ImageAlign.StretchHorz = False rm.Style.ImageAlign.StretchVert = False ...... rt.Cells(0,11).Image = GetImage(rm) rt.Cells(0,11).RenderObject = rm \'将单元格内容设置为图片对象rm Doc.Body.Children.Add(rt) \'将表格对象加入到报表中 Doc.Preview() \'预览报表 |
|
-- 作者:有点蓝 -- 发布时间:2019/8/14 15:35:00 -- 去掉这句 rt.Cells(0,11).Image = GetImage(rm) |
|
-- 作者:hanzhang98 -- 发布时间:2019/8/14 15:46:00 -- 老师好。去掉[rt.Cells(0,11).Image = GetImage(rm)] 这句后,照片列为空。 [此贴子已经被作者于2019/8/14 16:36:05编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2019/8/14 16:01:00 -- 上传实例看看 |
|
-- 作者:hanzhang98 -- 发布时间:2019/8/14 16:36:00 -- 老师好。上一个问题已解决,是文件路径不对。 又有一个问题,下面黄底色代码中的表, 如果改为窗口表 就运行出错 “不存在名称为 “窗口1_Table1” 的 DataTable!” 。应如何修改,请老师指导。谢谢。 Dim CurRow As Row = Tables("窗口1_Table1").Current Dim fd As String = DataTables("窗口1_Table1").DataCols("照片").DefaultFolder ‘这句运行出错 Dim xm As String = Tables("窗口1_Table1").Current("姓名") |
|
-- 作者:有点蓝 -- 发布时间:2019/8/14 17:06:00 -- 如果不是副本,直接使用主表名称即可 |
|
-- 作者:hanzhang98 -- 发布时间:2019/8/14 17:17:00 -- 老师好。
|
|
-- 作者:有点蓝 -- 发布时间:2019/8/14 17:17:00 -- 行不行测试一下就知道呀 |
|
-- 作者:hanzhang98 -- 发布时间:2019/8/14 17:52:00 -- 老师好。再请教老师,能不能根据员工表、当前行的员工姓名,直接用代码获取照片列已下载到本地的全路径文件名,不要用手工指定。因为[If fd = "" Then fd = ProjectPath & "RemoteFiles\\Attachments\\文件夹1\\文件夹2" & "\\" & xm & ".jpg"] 其中的“文件夹1\\文件夹2” 要根据员工所在部门的不同而改变。如果用手工指定,就的经常改代码,特别是多客户端时尤为不方便。 谢谢。 补充,也就是能不能用代码直接获取Foxtable读取已下载到本地的照片的全路径及文件名。谢谢。
[此贴子已经被作者于2019/8/14 18:04:38编辑过]
|
|
-- 作者:狐狸爸爸 -- 发布时间:2019/8/15 8:35:00 -- 既然姓名作为文件名可以用变量xm来动态合成,部门一样可以啊: dim bm as string = tables("xxx").Current("部门") If fd = "" Then fd = ProjectPath & "RemoteFiles\\Attachments\\" & bm & "\\" & xm & ".jpg" |