Foxtable(狐表)用户栏目专家坐堂 → [求助]类似记录窗口,新增项问题!


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

主题:[求助]类似记录窗口,新增项问题!

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/23 16:24:00 [显示全部帖子]

如果已经建立关联:

子表的DataColCahnged事件:

if e.Col.name = "客户" andalso e.NewValue > "" then
    dim dr as datarow = e.DataRow.GetParentRow("父表")
    if dr is nothing then
        dr = datatables("父表").AddNew()
        dr("客户") = e.NewValue
    end if
end if 

如果没有建立关联,改用find查找判断:

http://www.foxtable.com/webhelp/scr/2490.htm
[此贴子已经被作者于2016/12/23 16:24:48编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/23 16:54:00 [显示全部帖子]

以下加粗的两行,就是判断是否已经存在:
Select Case e.DataCol.name
    Case "产品编号"
        Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.OldValue & "'")
        If dr Is Nothing Then 

            dr = DataTables("库存").AddNew()
            dr("产品编号") = e.DataRow("产品编号")
            dr("产品名称") = e.DataRow("产品名称")
            dr("产品规格") = e.DataRow("产品规格")
        Else
            dr("产品编号") = e.DataRow("产品编号")
        End If
    Case "产品名称","产品规格"
        Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then

            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/23 16:56:00 [显示全部帖子]

换到你这里,更加简单:
if e.Col.name = "客户" andalso e.NewValue > "" then    
      dim dr as datarow = DataTables("父表").Find("客户=’" & e.NewBalue & "'")   
      if dr is nothing then
            dr = datatables("父表").AddNew()
           dr("客户") = e.NewValue
      end if
end if 

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/24 9:17:00 [显示全部帖子]

你看看DataColchanged事件的e参数:

关于e参数:


[此贴子已经被作者于2016/12/24 9:19:08编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/24 9:20:00 [显示全部帖子]

个人建议你,先看一遍置顶的视频教程:



 回到顶部