Foxtable(狐表)用户栏目专家坐堂 → [求助]图片文件远程保存的更新问题


  共有2436人关注过本帖树形打印复制链接

主题:[求助]图片文件远程保存的更新问题

帅哥哟,离线,有人找我吗?
ehomecd
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
[求助]图片文件远程保存的更新问题  发帖心情 Post By:2015/10/29 10:13:00 [只看该作者]

[求助]图片文件远程保存的更新问题
图片字段的图片设置保存在远程服务器,通过控件PictureViewer1在服务器上删除了旧文件,更换了新文件后。
问题1:在PictureViewer1控件和图片列窗口都实现一个已删除的图片占位,如何实现远程文件更新,本地缓存的图片文件也同步更新(删除和新增)
问题2:手工删除了本地文件后,listview关于此行的图片无法显示,出现空白。发现问题可能出在文件路径上,自动更新的图片文件在RemoteFiles文件夹,而listview加载的文件在images文件夹,请问如何指定listview的图片文件路径到RemoteFiles?
listview的 代码:
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Tile '显示模式为平铺
lvw.Images.LargeSize = New Size(110,120) '定义大图标尺寸
lvw.TitleSize = New Size(200,150)  '设置平铺区域的大小
Dim cls() As String = {"姓名","空行","金币","空行2","当前印章","空行3","勋章","空行4","经验值"} '定义列名
For i As Integer = 0 To  cls.Length - 1  '增加列
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
    c.Name = cls(i) '指定列名
Next
For Each dr As DataRow In DataTables("学生信息").Select("", "累计获得金币 desc") '从数据表中提取数据
    Dim Key As String = dr("照片").Replace("//", "") '获取此员工的照片文件
    lvw.Images.AddLargeImage(Key, Key) '添加照片,直接用文件名作为图片键值
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.ToolTipText = dr("团队名称")  '设置此行的动态提示
    vr.ImageKey = Key '设置图片键值
    
    vr("姓名") = dr("姓名")
    vr("空行") =  "  "
    vr("金币") = "金币:" & dr("金币")
    vr("空行2") =  "  "

'--------------计算当前学生的有效印章数量----------------------
Dim sum As Integer = 0
Dim drs As List(Of DataRow) = DataTables("龙源宝藏").Select("学生编号 = '"& dr("学生编号") &"' And 印章有效 = 1")
If drs.Count > 0 Then
    For Each dr1 As DataRow In drs
        Dim yxyz As Integer = dr1("路队") + dr1("用餐") + dr1("午休") + dr1("作业") + dr1("运气") + dr1("惩罚") + dr1("印章补差") + dr1("奖励") 
        sum = sum + yxyz
    Next
End If

'--------------计算当前学生的有效印章数量----------------------

    vr("当前印章") = "印章:" & sum
    vr("空行3") =  "  "
    vr("勋章") = "勋章:" & DataTables("成长勋章").Compute("count(成长勋章)","姓名 = '" & dr("姓名") & "'")
    vr("空行4") =  "  "
    vr("经验值") = "经验:" & dr("累计获得金币")
    
      vr.Tag = dr 
Next
lvw.ResumeRedraw() '恢复绘制


图片点击可在新窗口打开查看此主题相关图片如下:2015年10月29日4.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:2015年10月29日3.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 10:23:00 [只看该作者]

1、用代码删除,在datacolchanged事件,删除 e.OldValue 的路径的文件

 

http://www.foxtable.com/help/topics/1410.htm

 

2、同样的,在datacolchanged事件,你可以把listview某行的数据删除,或者直接刷新listview

 

或者用这个事件也行 http://www.foxtable.com/help/topics/2716.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
ehomecd
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
  发帖心情 Post By:2015/10/29 10:54:00 [只看该作者]

关于第二个问题,listview的图标文件是否可以指定RemoteFiles文件夹内

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 10:58:00 [只看该作者]

以下是引用ehomecd在2015/10/29 10:54:00的发言:
关于第二个问题,listview的图标文件是否可以指定RemoteFiles文件夹内

 

不可以。但是你不是可以写绝对路径么? 如 projectpath & "RemoteFiles/xxx.jpg"


 回到顶部
帅哥哟,离线,有人找我吗?
ehomecd
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
  发帖心情 Post By:2015/11/3 19:49:00 [只看该作者]

Dim Key As String = dr("照片").Replace("//", "") '获取此员工的照片文件
    lvw.Images.AddLargeImage(Key, Key) '添加照片,直接用文件名作为图片键值
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.ToolTipText = dr("团队名称")  '设置此行的动态提示
    vr.ImageKey = ProjectPath & "RemoteFiles/Key" '设置图片键值

这样写代码问题是什么?预览图片无法显示。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/3 19:59:00 [只看该作者]

    Dim Key As String = dr("照片").Replace("//", "") '获取此员工的照片文件

    Dim img As String = ProjectPath & "RemoteFiles/" & key 

    lvw.Images.AddLargeImage(Key, img) '添加照片,直接用文件名作为图片键值
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.ToolTipText = dr("团队名称")  '设置此行的动态提示
    vr.ImageKey = Key '设置图片键值
    

 回到顶部
帅哥哟,离线,有人找我吗?
ehomecd
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
  发帖心情 Post By:2015/11/3 19:59:00 [只看该作者]

谢谢,刚才没看到您的回复,解决问题了
[此贴子已经被作者于2015/11/3 20:02:09编辑过]

 回到顶部