以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 两列的值相互转换 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41764) |
||||
-- 作者:tj-pacer -- 发布时间:2013/10/26 21:36:00 -- 两列的值相互转换 新项目在开发阶段BOM不确定,常发生设计变更,将新项目产品的BOM表设计成如下列
材料代码 材料名 是否用替代料 替代材料代码 替代材料名 233456 RP334 (逻辑列) 334556 ND7568
希望点击逻辑列后,逻辑列左右两列的值互换
材料代码 材料名 是否用替代料 替代材料代码 替代材料名 334556 ND7568 233456 RP334
求助代码如何写! |
||||
-- 作者:有点甜 -- 发布时间:2013/10/26 21:50:00 -- 直接写就行了。 dim temp = e.datarow("材料代码") e.datarow("材料代码") = e.datarow("替代材料代码") e.datarow("替代材料代码") = temp
|
||||
-- 作者:sloyy -- 发布时间:2013/10/26 22:03:00 -- Dim A,B,C,D As String If e.DataCol.Name = "是否用替代料" Then \'如果用替代料列的内容变动 |
||||
-- 作者:tj-pacer -- 发布时间:2013/10/26 22:30:00 -- 以下是引用sloyy在2013-10-26 22:03:00的发言:
Dim A,B,C,D As String If e.DataCol.Name = "是否用替代料" Then \'如果用替代料列的内容变动 谢谢3楼,试了,报错。 |
||||
-- 作者:sloyy -- 发布时间:2013/10/27 9:46:00 -- 字段全部设为string 你可能设置为数字了吧 |
||||
-- 作者:lsy -- 发布时间:2013/10/27 11:13:00 -- If e.DataCol.Name = "是否用替代材料" Then If e.DataRow(e.DataCol) = True Then e.DataRow("材料代码") = e.DataRow.OriginalValue("替代材料代码") e.DataRow("材料名") = e.DataRow.OriginalValue("替代材料名") e.DataRow("替代材料名") = e.DataRow.OriginalValue("材料名") e.DataRow("替代材料代码") = e.DataRow.OriginalValue("材料代码") End If End If |
||||
-- 作者:tj-pacer -- 发布时间:2013/10/27 12:18:00 -- 以下是引用lsy在2013-10-27 11:13:00的发言:
If e.DataCol.Name = "是否用替代材料" Then If e.DataRow(e.DataCol) = True Then e.DataRow("材料代码") = e.DataRow.OriginalValue("替代材料代码") e.DataRow("材料名") = e.DataRow.OriginalValue("替代材料名") e.DataRow("替代材料名") = e.DataRow.OriginalValue("材料名") e.DataRow("替代材料代码") = e.DataRow.OriginalValue("材料代码") End If End If Hi, 还是你的对。如果不用逻辑列判断,用双击"替代材料名",方法,将两列互换位置,并且点击可以往返,可以实行吗? |
||||
-- 作者:lsy -- 发布时间:2013/10/27 14:23:00 --
|
||||
-- 作者:tj-pacer -- 发布时间:2013/10/27 16:56:00 -- 太棒了,谢谢! |