以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教:代码应该写到表属性里还是控件事件里? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50739) |
-- 作者:bahamute -- 发布时间:2014/5/12 15:51:00 -- 请教:代码应该写到表属性里还是控件事件里? 对文件列,想实现从文件管理器里选择后,自动实现重命名,并复制到局域网特定文件夹, 根据帮助,从表属性设置如下代码 Dim dr As DataRow = e.DataRowIf dr.IsNull("身份证号码") Then MessageBox.Show("请先输入身份证号码!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True Else e.FileName = dr("身份证号码") & ".jpg" End If 如果从表里直接操作,并无问题。 但如果从窗口的文件管理器操作,问题就来了: 1、文件没有重命名; 2,没有复制到局域网指定文件夹,而是到了项目Attachments文件夹。 该如何解决? 还有一个疑问:存放目录到底该写到列属性还是控件属性里?还是二者都写上?
|
-- 作者:Bin -- 发布时间:2014/5/12 16:00:00 -- 两者都要写上 |
-- 作者:bahamute -- 发布时间:2014/5/12 16:33:00 -- 问题是文件管理器控件没有BeforeAttachFile属性, 这段代码该如何写? Dim dr As DataRow = e.DataRow |
-- 作者:Bin -- 发布时间:2014/5/12 16:34:00 -- 代码写到表事件即可. 属性两者都要设置 |
-- 作者:bahamute -- 发布时间:2014/5/12 16:46:00 -- 重命名还是有问题! 这是表事件: Dim ext As String ext = e.FileName.SubString(e.FileName.LastIndexof(".")) Dim dr As DataRow = e.DataRow If dr.IsNull("上报单位")=False AndAlso dr.IsNull("年月")=False Then e.FileName = dr("上报单位") & "-" & dr("年月") & "自查报告" & ext End If 这是列属性存放目录 \\\\HLRB-PC\\share$\\NKdata\\月销售汇总 这是控件存放目录设置 \\\\HLRB-PC\\share$\\NKdata\\月销售汇总 从表操作结果: 1、文件成功重命名; 2,复制到了指定文件夹。 从窗口操作结果: 1、文件没有重命名; 2,复制到指定文件夹。 |
-- 作者:Bin -- 发布时间:2014/5/12 16:49:00 -- 到事件里,添加messagebox.show看看是否触发事件 实在不行上例子.
|
-- 作者:bahamute -- 发布时间:2014/5/12 16:50:00 -- 感觉文件管理器的AddCommand属性绕过了表事件。 |
-- 作者:有点甜 -- 发布时间:2014/5/12 17:19:00 -- 以下是引用bahamute在2014-5-12 16:50:00的发言:
感觉文件管理器的AddCommand属性绕过了表事件。
测试,并没有不执行 BeforeAttachFile 事件,你再试试吧 |
-- 作者:bahamute -- 发布时间:2014/5/12 17:27:00 -- sorry,是我的问题。 从表里操作,填报人不为空,从控件操作,忘了判断,导致代码未执行。
|