以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教跨表复制数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42885) |
-- 作者:seintfei -- 发布时间:2013/11/25 10:30:00 -- 请教跨表复制数据 请教各位老师:
我的情况是,一个项目报价,有N张图纸,报价后,客户可能只挑其中N张图纸下单。我需求是 在报价表选定客户下单的项目后,报价表 和 报价明细表 的数据能自动复制到 订单表 和 订单明细表 中 。 |
-- 作者:狐狸爸爸 -- 发布时间:2013/11/25 10:37:00 -- 复制数据是很简单的: http://www.foxtable.com/help/topics/0680.htm http://www.foxtable.com/help/topics/1533.htm http://www.foxtable.com/help/topics/2292.htm
先看看上面的帮助,尝试自己解决一下,如果搞不定,就做个简单的例子发上来(不用整个项目上传),我们帮你搞定,以后你参照着写。 |
-- 作者:Bin -- 发布时间:2013/11/25 10:38:00 -- 可以考虑使用数据填充器http://www.foxtable.com/help/topics/0680.htm |
-- 作者:seintfei -- 发布时间:2013/11/25 10:52:00 -- 谢谢狐爸,我先试试看~ |
-- 作者:seintfei -- 发布时间:2013/11/25 21:21:00 --
If e.DataCol.Name = "受注" AndAlso e.DataRow("受注") = True Then
上述代码,我想实现 选定 逻辑列 “受注”的行变成锁定状态,后面加多一个逻辑列 “取消受注”,选定后,行解锁,“受注”状态取消,对应复制的数据也删除,请问代码如何写? |
-- 作者:有点甜 -- 发布时间:2013/11/25 21:30:00 -- 嗯嗯,楼主,可以参考一下帮助 或者参考一个例子 |
-- 作者:有点酸 -- 发布时间:2013/11/26 8:12:00 -- 1、不需要两个逻辑列,一个“受注”逻辑列即可
2、不需要锁定行,用PrepareEdit事件动态控制: http://www.foxtable.com/help/topics/0605.htm
将PrepareEdit事件代码设置为:
if e.Col.Name <> "受注" AndAlso e.Row("受注") = True Then e.Cancel = true End If
3、DataColChanged事件代码改为:
If e.DataCol.Name = "受注" Then |
-- 作者:seintfei -- 发布时间:2013/11/26 21:01:00 -- 谢谢!
如果想再完善些 项目报价 表 的 受注 取消打钩 项目报价明细 表 的 受注 也一起取消打钩 请问代码如何实现? |
-- 作者:有点甜 -- 发布时间:2013/11/26 21:29:00 -- 回复8楼,代码参考: If e.DataCol.Name = "受注" Then If e.DataRow("受注") = True Then \'如果勾选 Dim nma() As String = {"客户代码","项目号","报价单编号","业务担当","采购担当","备注"} \'A表数据来源列 Dim nmb() As String = {"客户代码","项目号","报价单编号","业务担当","采购担当","备注"} \'B表数据接收列 Dim dr As DataRow = DataTables("项目订单").AddNew For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = e.DataRow(nma(i)) Next Else \'如果是取消勾选 DataTables("项目订单").Deletefor("报价单编号 = \'" & e.DataRow("报价单编号") & "\'") \'删除对应报价单号的行 DataTables("项目报价明细").ReplaceFor("受注", False, "报价单编号 = \'" & e.DataRow("报价单编号") & "\'") End If End If |
-- 作者:seintfei -- 发布时间:2013/11/26 22:05:00 -- 谢谢指教! |