以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教下,这两个代码如何能够不冲突 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194498) |
-- 作者:SUV2258 -- 发布时间:2024/12/16 20:59:00 -- 请教下,这两个代码如何能够不冲突 If e.DataCol.Name = "委托单编号" Then If e.NewValue > "" AndAlso e.NewValue.StartsWith("ZRJC-WT-2024-") = False Then e.NewValue = "ZRJC-WT-2024-" & e.NewValue End If End If If e.DataCol.Name = "委托单编号" Then If e.DataRow.IsNull("委托单编号") = False Then e.DataRow("校验记录编号") = e.DataRow("委托单编号").replace("-WT-", "-JL-") e.DataRow("校验报告编号") = e.DataRow("委托单编号").replace("-WT-", "-BG-") e.DataRow("校验编号") = e.DataRow("委托单编号").replace("-WT-","|").split("|")(1) End If End If |
-- 作者:有点蓝 -- 发布时间:2024/12/16 21:34:00 -- 提示的意思是列的字符长度不够大,和代码无关:http://www.foxtable.com/webhelp/topics/0036.htm 另外第一段代码应该放到datacolchanging事件,第2段代码应该放到datacolchanged事件。不同事件有不同的用途,不是所有代码挤到一个事件了事的 |
-- 作者:SUV2258 -- 发布时间:2024/12/17 11:43:00 -- 这两个代码是分别放在两个事件的 我理解错了,能否将DataColChanging事件中的 If e.DataCol.Name = "委托单编号" Then If e.NewValue > "" AndAlso e.NewValue.StartsWith("ZRJC-WT-2024-") = False Then e.NewValue = "ZRJC-WT-2024-" & e.NewValue End If End If 这个代码加上一个判断,当“序号”列中有字符"WX“时,数据更改成"ZRJC-WX-2024-" & e.NewValue |
-- 作者:有点蓝 -- 发布时间:2024/12/17 11:50:00 -- …… If e.NewValue > "" AndAlso e.NewValue.StartsWith("ZRJC-WT-2024-") = False if e.datarow("序号").Contains("WX") Then e.NewValue = "ZRJC-WX-2024-" & e.NewValue else e.NewValue = "ZRJC-WT-2024-" & e.NewValue end if endif ……
[此贴子已经被作者于2024/12/17 11:50:08编辑过]
|