Foxtable(狐表)用户栏目专家坐堂 → 在listview对不带扩展名的文件没显示


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

主题:在listview对不带扩展名的文件没显示

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
在listview对不带扩展名的文件没显示  发帖心情 Post By:2022/9/26 9:31:00 [显示全部帖子]

Dim ftp As New FtpClient
If Network.Ping("X.X.X.X", 1000) = False Then
    ftp.Host = "X.X.X.X"
Else
    ftp.Host = "X.X.X.X"    
End If 

ftp.Account = "X"
ftp.Password = "X"

Dim lvw As WinForm.ListView = Forms("需求文件上传FTP").Controls("ListView3")
lvw.Rows.Clear
lvw.Images.Clear
lvw.Images.LargeSize = New size(32, 32)

Dim ics As String() = {"swf", "accdb", "mdb", "psd", "png", "xls", "xlsx", "bmp", "rar", "jpg", "gif", "doc", "docx", "zip", "pdf", "txt", "ppt", "exe", "bin", "map", "other"} '定义扩展名数组
Dim kzms As String = "swf accdb mdb psd png xls xlsx bmp rar jpg  gif doc docx zip pdf txt ppt exe bin map" '定义已知扩展名的文本串
For Each ic As String In ics
    lvw.Images.AddImage(ic, ic & ".png", ic & ".png") '向listview里添加图标
Next
'==============================以上是设置listview的代码============================

'==============================以下是生成listview的代码============================

Dim sts As List(Of String) = ftp.GetFileList(vars("ljwjj"))
If sts.Count > 0 Then '若有文件
    For Each st As String In sts
        Dim r As WinForm.ListViewRow = lvw.Rows.Add '增加一行
        Dim Dot As Integer = st.LastIndexOf(".") '定义.的位置
        Dim kzm As String = st.SubString(Dot + 1) '获取扩展名
        r.text = st
        If kzms.Contains(kzm) = True Then '若为已知扩展名
            r.ImageKey = kzm '指定行的图标键值
        Else
            r.ImageKey = "other"
        End If
    Next
End If
'上传带扩展名的文件都正常显示,但上传不带扩展名的文件,没显示。

ftp.Close

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 10:05:00 [显示全部帖子]

Dim sts As List(Of String) = ftp.GetFileList(vars("ljwjj"))
If sts.Count > 0 Then '若有文件
    For Each st As String In sts
        Dim r As WinForm.ListViewRow = lvw.Rows.Add '增加一行
        Dim Dot As Integer = st.LastIndexOf(".") '定义.的位置
        Dim kzm As String = st.SubString(Dot + 1) '获取扩展名
        r.text = st
        
        If Array.IndexOf(ics, kzm) > -1 Then
            r.ImageKey = kzm '指定行的图标键值
        Else
            r.ImageKey = "other"
        End If
    '不行啊。对不带扩展名在listview还是没显示。
    Next
End If

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 10:13:00 [显示全部帖子]

1和2都没弹出。

文件是上传成功的。

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 10:23:00 [显示全部帖子]

带扩展名的都是没问题的。而且msgbox也是正常弹出。
现在有问题的是不带扩展名的。比如上传文件的名称就是default-config。  这种文件上传是成功的但是在listview没显示。注:带扩展名的都是没问题的。

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 10:27:00 [显示全部帖子]

带扩展名的文件。msgbox都是弹出正确的内容。
没带扩展名的,没弹出msgbox。

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 11:57:00 [显示全部帖子]

改为getdetaillist,上传上去的文件名称自动增加了年月日时分秒。导致图标也不能正常显示。
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20220926115300.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 12:02:00 [显示全部帖子]

实际文件没有detail信息。是viewlist的显示的时候增加了detail信息。

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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 15:00:00 [显示全部帖子]

问题的关键是上传上的文件服务器是有的啊。是listview没有显示这个文件啊。我觉得是怎么解决listview不显示扩展名的问题吧。

图片点击可在新窗口打开查看此主题相关图片如下:ftp.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:五尾狐 帖子:1188 积分:8282 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2022/9/26 15:35:00 [显示全部帖子]


Dim lvw As WinForm.ListView = Forms("需求文件上传FTP").Controls("ListView3")
lvw.Rows.Clear
lvw.Images.Clear
lvw.Images.LargeSize = New size(32, 32)

Dim ics As String() = {"swf", "accdb", "mdb", "psd", "png", "xls", "xlsx", "bmp", "rar", "jpg", "gif", "doc", "docx", "zip", "pdf", "txt", "ppt", "exe", "bin", "map", "other"} '定义扩展名数组
Dim kzms As String = "swf accdb mdb psd png xls xlsx bmp rar jpg  gif doc docx zip pdf txt ppt exe bin map" '定义已知扩展名的文本串
For Each ic As String In ics
    lvw.Images.AddImage(ic, ic & ".png", ic & ".png") '向listview里添加图标
Next
'==============================以上是设置listview的代码============================

'==============================以下是生成listview的代码============================

'Dim sts As List(Of String) = ftp.GetFileList(vars("ljwjj"))
Dim sts As List(Of String) = ftp.GetDetailList(vars("ljwjj"))
If sts.Count > 0 Then '若有文件
    For Each st As String In sts
        Dim r As WinForm.ListViewRow = lvw.Rows.Add '增加一行        
        Dim Dot As Integer = st.LastIndexOf(".") '定义.的位置
        Dim kzm As String = st.SubString(Dot + 1) '获取扩展名
        Dim idx As Integer = st.IndexOf("*")
        st = st.Substring(0, idx)
        r.text = st 
        If Array.IndexOf(ics, kzm) > -1 Then
            r.ImageKey = kzm '指定行的图标键值
        Else
            r.ImageKey = "other"
        End If
    Next
End If


‘按照你说的,文件重命令了。但是发现ic图标没显示了。

 回到顶部