以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]插入图片显示不正常 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116342) |
|
-- 作者:djm2003 -- 发布时间:2018/3/23 9:13:00 -- [求助]插入图片显示不正常 在安全检查明细表BeforAttachFile事件中,分别设置了两列插入照片和报告,并存放在动态文件夹中,如下图式: DataTables("安全检查明细表").DataCols("照片").DefaultFolder = ProjectPath & "检查照片\\" & e.DataRow("房屋地址") & "\\" If e.DataCol.Name = "照片" Then Dim dr As DataRow = e.DataRow If dr.IsNull("检查人") Or dr.IsNull("检查日期") Then MessageBox.Show("检查人和检查日期不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True Else e.SubFolder = dr("检查日期").Date & dr("检查人") End If ElseIf e.DataCol.Name = "鉴定情况_报告" Then Dim dr As DataRow = e.DataRow If dr.IsNull("鉴定情况_鉴定单位") Or dr.IsNull("鉴定情况_鉴定统一编号") Then MessageBox.Show("鉴定单位和鉴定统一编号不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True Else Dim fl As String = e.FileName Dim idx As Integer = fl.LastIndexof(".") Dim ext As String = fl.SubString(idx) e.FileName = dr("鉴定情况_鉴定统一编号") & dr("鉴定情况_鉴定单位") & ext End If DataTables("安全检查明细表").DataCols("鉴定情况_报告").DefaultFolder = ProjectPath & "检查照片\\" & e.DataRow("房屋地址") & "\\鉴定报告\\" End If 出现以下问题: 1、插入第一张图片时,未能正确显示,发现是未建立动态文件夹,当插入第二张图片时可正确显示。 2、新增至30行左右,发现照片管理器不能显示图片,提示文件不存在,但动态文件夹内照片存在。 请问怎样解决?
|
|
-- 作者:有点甜 -- 发布时间:2018/3/23 9:22:00 -- AfterOpenProject事件,写代码
DataTables("安全检查明细表").DataCols("照片").DefaultFolder = ProjectPath & "检查照片\\"
修改你原来的代码
If e.DataCol.Name = "照片" Then
Dim dr As DataRow = e.DataRow
If dr.IsNull("检查人") Or dr.IsNull("检查日期") Then
MessageBox.Show("检查人和检查日期不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.Cancel = True
Else
e.SubFolder = e.DataRow("房屋地址") & "\\" & dr("检查日期").Date & dr("检查人")
End If
End If
|
|
-- 作者:有点甜 -- 发布时间:2018/3/23 9:23:00 -- 不然,你就要在CurrentChanged事件,动态指定每一行的DefaultFolder,如
DataTables("安全检查明细表").DataCols("照片").DefaultFolder = ProjectPath & "检查照片\\" & e.Table.Current("房屋地址") & "\\" |
|
-- 作者:djm2003 -- 发布时间:2018/3/23 10:21:00 -- 谢谢老师,解决了这个问题。但出现了新的问题: 检查明细表是子表,基本情况表是父表,当在父表下新增子表一行时,出现“未将对象引用设置到对象实例”,怎样解决。
|
|
-- 作者:djm2003 -- 发布时间:2018/3/23 11:17:00 -- 回复:(有点甜)不然,你就要在CurrentChanged事件,...
|
|
-- 作者:有点甜 -- 发布时间:2018/3/23 11:22:00 -- 代码改成
If e.Table.Current is Nothing Then Return
DataTables("安全检查明细表").DataCols("照片").DefaultFolder = ProjectPath & "检查照片\\" & e.Table.Current("房屋地址") & "\\" [此贴子已经被作者于2018/3/23 11:22:15编辑过]
|