Foxtable(狐表)用户栏目专家坐堂 → 请教:代码应该写到表属性里还是控件事件里?


  共有4239人关注过本帖树形打印复制链接

主题:请教:代码应该写到表属性里还是控件事件里?

帅哥哟,离线,有人找我吗?
bahamute
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
请教:代码应该写到表属性里还是控件事件里?  发帖心情 Post By:2014/5/12 15:51:00 [显示全部帖子]

对文件列,想实现从文件管理器里选择后,自动实现重命名,并复制到局域网特定文件夹,
根据帮助,从表属性设置如下代码
Dim dr As DataRow = e.DataRow
If
 dr.IsNull("身份证号码")  Then
    MessageBox.Show("
请先输入身份证号码!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True

Else

    e.FileName = dr("身份证号码") & ".jpg"

End
 If
如果从表里直接操作,并无问题。

但如果从窗口的文件管理器操作,问题就来了:
1、文件没有重命名;
2,没有复制到局域网指定文件夹,而是到了项目Attachments文件夹。
该如何解决?
还有一个疑问:存放目录到底该写到列属性还是控件属性里?还是二者都写上?

 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/5/12 16:33:00 [显示全部帖子]

问题是文件管理器控件没有BeforeAttachFile属性,

这段代码该如何写?

Dim dr As DataRow = e.DataRow
If
 dr.IsNull("身份证号码")  Then
    MessageBox.Show("
请先输入身份证号码!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True

Else

    e.FileName = dr("身份证号码") & ".jpg"

End
 If


 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By: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,复制到指定文件夹


 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/5/12 16:50:00 [显示全部帖子]

感觉文件管理器的AddCommand属性绕过了表事件。

 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/5/12 17:27:00 [显示全部帖子]

sorry,是我的问题。
从表里操作,填报人不为空,从控件操作,忘了判断,导致代码未执行。

 回到顶部