蓝老师,我发现一个问题,不知是不是BUG用以上的代码加入图片后,然后用PictureViewer的删除按钮删除某个图片,假定为A图,再添加A图,此时A图不会显示在PictureViewer中,通过远程桌面到服务器,此时A图还是再一次的被上传上去了,也就是说删除某个文件名的图片后再上传此同命图片,PictureViewer中不再显示此图片,此外,查看窗口中table表中的这条记录,附件列中没有写入内容,首次添加文件时这个table表中附件就会有内容,在PictureViewer中删除图片时附件列中也会 同步删除内容
下面是删除的代码:
窗口中table1的BeforeDeleteFile事件
If e.DataCol.name = "附件" Then
Dim Result As DialogResult
Result = MessageBox.Show("确定要删除文件【" & e.FileName & "】?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
'e.DataCol.FTPClient.DeleteFile(e.FileName) '如果是用表格上的窗口管理器,则用此行代码,下面的不需要,因为设置扩展属性时设定了FTP的相关信息
Dim ftp1 As new ftpclient
ftp1.host=""
ftp1.port = ""
ftp1.Account = ""
ftp1.password = ""
ftp1.RootDir = "/上下游公司名录附件" '设置根目录
Dim tb As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim dr As DataRow
dr = DataTables("上下游公司名录维护新增模式窗口_Table1").SQLFind("公司 = '" & tb.Value & "'")
If dr IsNot Nothing Then '如果找到的话
ftp1.DeleteFile(e.FileName)
Dim fls As List(of String)
fls = ftp1.GetFileList(dr("公司")) '返回此FTP目录下的文件数
If fls.Count = 0 Then
ftp1.DeleteDir(dr("公司"),True) '直接删除此目录及下面的所有文件
End If
dr.Save
End If
Else
e.Cancel = True
End If
End If
[此贴子已经被作者于2020/4/8 7:54:04编辑过]