下面这段代码放在表的datecolchanging事件中,可是会执行两遍,第一遍,弹出 文件改名成功! 第二遍弹出 文件改名失败! 为什么会执行两遍?
'用户直接在表格中操作改文件名
If e.OldValue IsNot Nothing AndAlso e.NewValue IsNot Nothing Then '只有改名前且改名后的内容都不为空才进行下面的判断(防止新上传文件或删除文件也弹出下面改名失败的提示)
If e.DataCol.Name="问题或需求_附件" Then
'Dim dr As DataRow= e.DataRow
'下载数据
Dim ftp1 As new ftpclient
ftp1.host="172.1.1.1"
ftp1.Account = "administrator"
ftp1.password = "1234"
ftp1.RootDir="/各表附件/问题或需求跟踪表/"
Dim str_NewName As String=e.NewValue
If str_NewName.Contains(e.DataTable.Name & "_ID" & e.DataRow("ID")) Then
msgbox("进入")
If ftp1.Rename(e.OldValue,e.NewValue)=True Then
msgbox("文件改名成功!")
e.DataRow(e.DataCol.Name)=e.NewValue '因为datacolchanging事件时 新值还没有写入表格中,所以要手动用代码写入
'e.DataTable.Save()
e.DataRow.Save
Else
msgbox(str_newname)
msgbox("文件改名失败!")
e.Cancel=True
End If
Else
msgbox("修改的文件名不符合命名要求,请重新修改!")
e.Cancel=True
End If
End If
End If