原贴http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39419&authorid=0&page=0&star=2#editform
狐狸爸爸在12楼处的回复
你那个图片有问题,dpi是1,其他图片是96,一定要正常显示的话,这样改代码:
If e.Col.Name = "第二列" Then
If e.Row.IsNull("第一列") = False Then
If FileSys.FileExists(ProjectPath & e.Row("_Identify") & ".jpg") = False Then
Network.DownloadFile(e.Row("第一列"), ProjectPath & e.Row("_Identify") & ".jpg", "", "", False, 6000, True)
'发现如果HTTP网络服务器(第3方服务器,非自己的,所以无法判断文件是否存在)的文件不存在,即可能是已被删除,调用Network.DownloadFile 来下载时,就会出错,导致DrawCell无法执行,整个表显示出错。故在此处可有下载是否存在或下载成功与否的逻辑判断,以便跳过不存在的文件,继续执行,如不存在的话,就可以用如IF语句,让其显示为固定带_Identify的其它图片等?
End If
e.StartDraw
Dim img As Image = GetImage(ProjectPath & e.Row("_Identify") & ".jpg")
e.Graphics.DrawImage(img, e.x, e.y,e.Width,e.Height)
e.EndDraw
End If
End If
[此贴子已经被作者于2023/4/22 16:12:06编辑过]