以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多个父行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146736)

--  作者:tld
--  发布时间:2020/3/1 15:11:00
--  多个父行
老师好。流水表是主表,样品信息表是子表,两个表用 委托编号关联。主表中,委托编号列的列属性禁止重复 设置为 true,但还是出现了子行对应多个父行的错误。我在datacolchanging中设置代码:
   If e.DataCol.name="委托编号" Then
        Dim wt As String = e.NewValue
        Dim dr As DataRow = e.DataTable.Find ("[委托编号]=\'" & wt & "\'")
        If dr IsNot Nothing And e.DataRow("委托编号") <>"" Then
            msgbox("您正在添加的委托编号是: " & e.DataRow("委托编号") &  ",委托编号重复!!!")
            e.Cancel=True
        End If
    End If
在导入数据的时候也没能阻止错误

--  作者:有点蓝
--  发布时间:2020/3/1 22:55:00
--  
统一通过服务端生成编号,就不会重复了:http://www.foxtable.com/webhelp/topics/3008.htm
--  作者:chen37280600
--  发布时间:2020/3/1 23:19:00
--  
或者你嫌搞服务器端生成麻烦,可以用这个方法生成你的父表ID列

在datarowAdding事件里

  e.datarow("id") =  Guid.NewGuid.ToString() 

终极方案
[此贴子已经被作者于2020/3/1 23:20:16编辑过]

--  作者:tld
--  发布时间:2020/3/2 0:01:00
--  
您的  代码  e.datarow("id") =  Guid.NewGuid.ToString()  我不知道怎么用,在帮助中也没有找到 线索  惭愧。
 

--  作者:chen37280600
--  发布时间:2020/3/2 8:39:00
--  
你在代码编辑器里,直接

output.show(Guid.NewGuid.ToString())

每次都会得到不同的随机码

剩下的你自行考虑使用方法