以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]同样代码在老项目中正常,在新项目中效果反了 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=180826) |
||||
-- 作者:xlrboy -- 发布时间:2022/10/17 14:01:00 -- [求助]同样代码在老项目中正常,在新项目中效果反了 目的 勾选逻辑列后 把这行里面的某个数据复制到表2里面,老项目中正常的代码 If e.DataCol.Name = "入职确认" AndAlso 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 End If 调整后代码放到新建的项目里面 勾选逻辑列没反应,把逻辑列上的勾去掉后反而复制过去了。 If e.DataCol.Name = "销售确认" AndAlso 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 End If |
||||
-- 作者:有点蓝 -- 发布时间:2022/10/17 14:04:00 -- 把有问题的项目发上来测试 |
||||
-- 作者:xlrboy -- 发布时间:2022/10/17 14:14:00 -- 已上传
|
||||
-- 作者:有点蓝 -- 发布时间:2022/10/17 14:20:00 -- 代码放错地方了,应该放到datacolchanged |
||||
-- 作者:xlrboy -- 发布时间:2022/10/18 11:31:00 -- 您好!需要实现逻辑列打勾把该行复制到表B,逻辑列勾去掉自动把表B对应的那行删除。修改了代码执行不了,请看看 If e.DataCol.Name = "销售确认" AndAlso 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 End If If e.DataCol.Name = "销售确认" Then If e.DataRow("销售确认") = False Then Dim dr As DataRow = DataTables("销货表").AddNew For Each dc As DataCol In DataTables("销货表").DataCols dr(dc.Name) = e.DataRow(dc.Name) Next End If End If |
||||
-- 作者:有点蓝 -- 发布时间:2022/10/18 11:39:00 -- 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("板材编号") & "\'") End If End If |
||||
-- 作者:xlrboy -- 发布时间:2022/10/19 11:02:00 -- 您好!功能实现了,但是容易误操作,想加一个提示 是否取消,点确定执行 点取消不执行。应该如何设置 [此贴子已经被作者于2022/10/19 11:02:05编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/10/19 11:06:00 -- 参考:http://www.foxtable.com/webhelp/topics/0326.htm datacolchanging事件 If e.DataCol.Name = "销售确认" Then If e.newvalue = false Then Dim Result As DialogResult Result = MessageBox.Show("是否取消?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then e.cancel=true End if End If End If |