以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  添加图片还是有问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=102043)

--  作者:天蝉一下
--  发布时间:2017/6/12 13:53:00
--  添加图片还是有问题
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim dt As DataTable
lvw.Rows.Clear() \'清除原来的行
lvw.Images.Clear() \'清除原来的图片
lvw.View = ViewMode.SmallIcon \'用小图标模式
Dim cmd As new sql command
cmd.Connec ti
cmd.Comman dText="select * fr o m {审核管理} where 审核编号=\'" & lst.Table.Current("计划编码") & "\' and 审批意见=\'同意\'"
dt=cmd.Ex ecut eR eader
Dim fd2 As String
For Each dr As DataRow In dt.DataRows \'列出所有
   If dr("签字位置") IsNot Nothing Then
     fd2 = ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png"
         If FileSys.FileExists(fd2)=False Then \'如果指定的文件存在
Dim ftp1 As New FtpClient
ftp1.Host="192.168.254.202"
ftp1.Port="21"
ftp1.Account = "fox"
ftp1.Password = "*******"
        If ftp1.FileExists(dr("签字位置")) Then \'如果文件存在
            \'     FileSys.DeleteFile(fd2,2,2) \'则彻底删除之
            \'    End If
            ftp1.Download(dr("签字位置"),fd2,False)
            \' FileSys.CopyFile(dr("大头像"),fd2 ,True)
    End If
   End If
\'For Each dr As DataRow In dt.DataRows
 lvw.Images.AddSmallImage(ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user",ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png") \'添加小图标
    Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() \'增加一行
    r.Text = dr("审批时间") \'指定标题
    r.ImageKey = ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png" \'指定图标键值
End If
Next

这段代码提示“未将对象引用设置到对象的实例”

--  作者:有点色
--  发布时间:2017/6/12 14:09:00
--  

 如果图片不存在,你怎么处理?

 

For Each dr As DataRow In dt.DataRows \'列出所有
    If dr("签字位置") IsNot Nothing Then
        fd2 = ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png"
        If FileSys.FileExists(fd2)=False Then \'如果指定的文件存在
            Dim ftp1 As New FtpClient
            ftp1.Host="192.168.254.202"
            ftp1.Port="21"
            ftp1.Account = "fox"
            ftp1.Password = "*******"
            If ftp1.FileExists(dr("签字位置")) Then \'如果文件存在
                \'     FileSys.DeleteFile(fd2,2,2) \'则彻底删除之
                \'    End If
                ftp1.Download(dr("签字位置"),fd2,False)
                \' FileSys.CopyFile(dr("大头像"),fd2 ,True)
            End If
            lvw.Images.AddSmallImage(ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user",ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png") \'添加小图标
            Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() \'增加一行
            r.Text = dr("审批时间") \'指定标题
            r.ImageKey = ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png" \'指定图标键值

        Else

           \'你怎么处理?
        End If
    End If
Next


--  作者:天蝉一下
--  发布时间:2017/6/12 14:34:00
--  

For Each dr As DataRow In dt.DataRows \'列出所有
    If dr("签字位置") IsNot Nothing Then
        fd2 = ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png"
        If FileSys.FileExists(fd2)=False Then \'如果指定的文件存在
            Dim ftp1 As New FtpClient
            ftp1.Host="192.168.254.202"
            ftp1.Port="21"
            ftp1.Account = "fox"
            ftp1.Password = "*******"
            If ftp1.FileExists(dr("签字位置")) Then \'如果文件存在
               ftp1.Download(dr("签字位置"),fd2,False)
                End If

通过判断服务器上是否存在dr("签字位置")的图片,如果有,下载到本地,文件名为fd2
            lvw.Images.AddSmallImage(ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user",ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png") \'添加小图标
            Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() \'增加一行
            r.Text = dr("审批时间") \'指定标题
            r.ImageKey = ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png" \'指定图标键值

        Else

           \'你怎么处理?
        End If
    End If
Next


为什么显示的图片是空的,我用的png格式,帮助里面是ico有什么区别吗



--  作者:有点色
--  发布时间:2017/6/12 14:56:00
--  
For Each dr As DataRow In dt.DataRows \'列出所有
    If dr("签字位置") IsNot Nothing Then
        fd2 = ProjectPath & "Attachments\\Images\\" & dr("审核人账号") & "100user.png"
        Dim ftp1 As New FtpClient
        ftp1.Host="192.168.254.202"
        ftp1.Port="21"
        ftp1.Account = "fox"
        ftp1.Password = "*******"
        If ftp1.FileExists(dr("签字位置")) Then \'如果文件存在
            ftp1.Download(dr("签字位置"),fd2,False)
        End If
        ftp1.close
        If FileSys.FileExists(fd2)=False Then \'如果指定的文件存在
            lvw.Images.AddSmallImage(fd2, fd2) \'添加小图标
            Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() \'增加一行
            r.Text = dr("审批时间") \'指定标题
            r.ImageKey = fd2
        Else
            msgbox("不存在对应的图片文件")
        End If
    End If
Next