以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]ListView重命名的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161148) |
||||
-- 作者:2425004926 -- 发布时间:2021/3/8 10:59:00 -- [求助]ListView重命名的问题 我用了ListView,以下是双击代码。 双击后文件名称显示蓝色可更改,更改名称后关闭窗口,再打开文件名称还是原来的。 Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") If lvw.Current IsNot Nothing Then lvw.Current.BeginEdit() End If 这个是路径 ProjectPath & "Attachments\\" & "王宏谟藏品照片" “王宏谟藏品照片”这个是文件夹,比如说把“伤员用绑带”改为“绑带”,还要写一个什么代码?写在哪里?
|
||||
-- 作者:有点蓝 -- 发布时间:2021/3/8 11:14:00 -- 更改文字有没有什么规则?如果没有,很难判断 |
||||
-- 作者:2425004926 -- 发布时间:2021/3/8 12:19:00 --
我作了个例子,窗口1里,改名后关闭窗口,名称没改过来 |
||||
-- 作者:有点蓝 -- 发布时间:2021/3/8 13:41:00 -- 参考:http://www.foxtable.com/webhelp/topics/2829.htm |
||||
-- 作者:2425004926 -- 发布时间:2021/3/8 15:27:00 -- 非常感谢!明白了 |
||||
-- 作者:2425004926 -- 发布时间:2021/3/8 16:04:00 -- 更名中若有同名称出现,会出错,我就作了一个判断,这个判断写在哪个事件比较合适,AfterEdit事件和BeforeEdit都不行 Dim a As String = "|" For Each File2 As String In FileSys.GetFiles(ProjectPath & "Attachments\\王宏谟\\“) \'将上级文件夹的所有名称罗列出来,变为一个字符串 a = a & file2 & "|" Next If a.Contains("|" & e.NewText & "|") Then \'前后都有竖线是要避免局部名称一样,字符串包含新名称 e.Cancel = True \'取消重命名 MessageBox.Show("此文件夹中已经有同名称的文件,请重新命名!") ‘Else ’Dim file As String = ProjectPath & "Attachments\\" & f.text & "\\" & e.Row.text \'原来的文件名称 ‘FileSys.RenameFile(file,e.NewText) End If
|
||||
-- 作者:2425004926 -- 发布时间:2021/3/8 16:37:00 -- 问题找到了,还是在AfterEdit事件里写的代码,删除文件名的路径,只留下文件名OK了 |