Foxtable(狐表)用户栏目专家坐堂 → [求助]表达式列,重复的不提示


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

主题:[求助]表达式列,重复的不提示

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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
[求助]表达式列,重复的不提示  发帖心情 Post By:2015/11/19 10:21:00 [只看该作者]

[求助]表达式列,重复的不提示

‘fa piao号’列是表达式列,重复就不提示,需要修改代码吗?

If e.DataCol.Name = "fa piao号" Then
    Dim dr As DataRow = DataTables("进项fa piao").Find("fa piao号 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此'fa piao号'已存,不能重复录单!","提醒")
        e.DataRow("fa piao号") =""
        e.Cancel = True
    End If
End If


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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/11/19 10:22:00 [只看该作者]

因为我必须用表达式取值,不能用数据列,求助

 


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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/11/19 11:30:00 [只看该作者]

求助]表达式列,重复的不提示

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/19 11:32:00 [只看该作者]

呃,表达式列,不触发datacolchanging和datacolchanged事件,必须去它的源头(合成表达式的列)写代码

 

http://www.foxtable.com/help/topics/2381.htm

 


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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/11/19 12:20:00 [只看该作者]

我这样改了,但还是没有用,帮看下

 

If  e.DataCol.name =  "fa piao号"   Then
    Dim  pr As  DataRow = e.DataRow.GetParentRow("进项fa piao")  '找出对应的父行
    If  pr IsNot Nothing Then
        If e.DataCol.Name = "fa piao号" Then
            DataTables("进项fa piao").DataCols("fa piao代码").RaiseDataColChanged(pr)   '通知系统此父行的数量列发生了改变,触发DataColChanged事件
            DataTables("进项fa piao").DataCols("fa piao号码").RaiseDataColChanged(pr)   '通知系统此父行的数量列发生了改变,触发DataColChanged事件
           
            Dim dr As DataRow = DataTables("进项fa piao").Find("fa piao号 = '" & e.NewValue & "'")
            If dr IsNot Nothing Then
                MessageBox.Show("此'fa piao号'已存,不能重复录单!","提醒")
                e.DataRow("fa piao号") =""
                e.Cancel = True
            End If
        End If
    End If
End If


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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/11/19 12:22:00 [只看该作者]

fa piao号=fa piao代码+fa piao号码

“fa piao代码”是数据列

“fa piao号码”是数据列

“fa piao号”是表达式列


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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/11/19 12:23:00 [只看该作者]

“fa piao号”不能重复

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/19 12:47:00 [只看该作者]

以下是引用大红袍在2015/11/19 11:32:00的发言:

呃,表达式列,不触发datacolchanging和datacolchanged事件,必须去它的源头(合成表达式的列)写代码

 

http://www.foxtable.com/help/topics/2381.htm

 

 

不触发事件啊,写了没用。去父表的datacolchanged写代码。


 回到顶部