以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 文件夹重命名 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117219)
|
-- 作者:ZJZK2018
-- 发布时间:2018/4/9 0:50:00
-- 文件夹重命名
需求:
在表中修改“工程名称”或“会议名称”时,原文件夹重命名
下面代码出错了
Dim dr As DataRow = e.DataRow Select e.DataCol.Name Case "工程名称","会议名称" If dr.IsNull("工程名称") = False AndAlso dr.IsNull("会议名称") = False Then Dim pth As String = ProjectPath & "Attachments\\用户工程\\" & dr("工程名称") & "\\" & dr("会议名称") If FileSys.DirectoryExists(pth) = False Then \'如果目录不存在 FileSys.CreateDirectory(pth) \'创建目录 If e.NewValue <> e.OldValue Then \'MessageBox.Show(11) FileSys.MoveDirectory(pth,pth) End If End If Else MessageBox.Show("工程名称及会议名称不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True End If End Select
|
-- 作者:有点甜
-- 发布时间:2018/4/9 9:57:00
--
参考代码,每个列,要分开写。
Dim dr As DataRow = e.DataRow Select e.DataCol.Name Case "工程名称" If dr.IsNull("工程名称") = False AndAlso dr.IsNull("会议名称") = False Then Dim opath As String = ProjectPath & "Attachments\\用户工程\\" & e.oldvalue & "\\" & dr("会议名称") Dim npath As String = ProjectPath & "Attachments\\用户工程\\" & e.newvalue & "\\" & dr("会议名称") If FileSys.DirectoryExists(opath) = False Then \'如果目录不存在 FileSys.CreateDirectory(npath) \'创建目录 Else FileSys.MoveDirectory(opath,npath) End If Else MessageBox.Show("工程名称及会议名称不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True End If End Select
|
-- 作者:ZJZK2018
-- 发布时间:2018/4/9 20:26:00
--
老师你好:
我在修改“工程名称”时只是新增一个文件夹,老的哪个文件夹没有删除,如何处理?谢谢
此主题相关图片如下:aaaaa.png
|
-- 作者:有点蓝
-- 发布时间:2018/4/9 21:21:00
--
RenameDirectory:http://www.foxtable.com/webhelp/scr/0335.htm
|
-- 作者:ZJZK2018
-- 发布时间:2018/4/9 23:44:00
--
有点蓝老师还是不对?如何修改下面这段代码?
Dim dr As DataRow = e.DataRow Select e.DataCol.Name Case "工程名称" If dr.IsNull("工程名称") = False AndAlso dr.IsNull("会议名称") = False Then Dim opath As String = ProjectPath & "Attachments\\用户工程\\" & e.oldvalue & "\\" & dr("会议名称") Dim npath As String = ProjectPath & "Attachments\\用户工程\\" & e.newvalue & "\\" & dr("会议名称") If FileSys.DirectoryExists(opath) = False Then \'如果目录不存在 FileSys.CreateDirectory(npath) \'创建目录 Else FileSys.RenameDirectory(opath,npath) End If Else MessageBox.Show("工程名称及会议名称不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True End If Case "会议名称" If dr.IsNull("工程名称") = False AndAlso dr.IsNull("会议名称") = False Then Dim opath As String = ProjectPath & "Attachments\\用户工程\\" & dr("工程名称") & "\\" & e.OldValue Dim npath As String = ProjectPath & "Attachments\\用户工程\\" & dr("工程名称") & "\\" & e.NewValue If FileSys.DirectoryExists(opath) = False Then \'如果目录不存在 FileSys.CreateDirectory(npath) \'创建目录 Else FileSys.RenameDirectory(opath,npath) End If Else MessageBox.Show("工程名称及会议名称不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True End If End Select
此主题相关图片如下:99.png
[此贴子已经被作者于2018/4/9 23:47:34编辑过]
|
-- 作者:有点甜
-- 发布时间:2018/4/10 8:54:00
--
Dim dr As DataRow = e.DataRow Select e.DataCol.Name Case "工程名称" If dr.IsNull("工程名称") = False AndAlso dr.IsNull("会议名称") = False Then Dim opath As String = ProjectPath & "Attachments\\用户工程\\" & e.oldvalue & "\\" & dr("会议名称") Dim npath As String = ProjectPath & "Attachments\\用户工程\\" & e.newvalue & "\\" & dr("会议名称") If FileSys.DirectoryExists(opath) = False Then \'如果目录不存在 FileSys.CreateDirectory(npath) \'创建目录 Else FileSys.MoveDirectory(opath,npath) If FileSys.GetDirectories(FileSys.GetParentPath(opath)).Count = 0 Then filesys.DeleteDirectory(FileSys.GetParentPath(opath), 2, 2) End If End If Else MessageBox.Show("工程名称及会议名称不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True End If End Select
|
-- 作者:ZJZK2018
-- 发布时间:2018/4/10 13:38:00
--
有点甜老师:
上面这代码还是不对。
需求:
在表中修改“工程名称”或“会议名称”时,原文件夹重命名
|
-- 作者:有点甜
-- 发布时间:2018/4/10 14:56:00
--
以下是引用ZJZK2018在2018/4/10 13:38:00的发言:
有点甜老师:
上面这代码还是不对。
需求:
在表中修改“工程名称”或“会议名称”时,原文件夹重命名
1、6楼代码我测试没问题;请认真测试
2、你逻辑有问题,假如一个工程名称下有5个不同会议名称,你修改其中一个工程名称的值,那员文件夹就重命名了?不是影响其余4行的值?
|