以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这样的代码还能优化吗 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=26246) |
||||
-- 作者:zcw728909 -- 发布时间:2012/11/28 8:42:00 -- 这样的代码还能优化吗 有个产品信息表,里面有下面这些列,写个段代码,前辈们帮我看看还能优化吗,或者是能不能组合到一起,总感觉这样的代码太繁琐了 ![]() ![]() Select Case e.DataCol.name Case "电雕在制明细" If e.DataRow.IsNull("电雕在制明细") Then e.DataRow("电雕在制支数")="0" Else e.DataRow("电雕在制支数") = e.newvalue.split(",").Length End If End Select Select Case e.DataCol.name Case "机加在制明细" If e.DataRow.IsNull("机加在制明细") Then e.DataRow("机加在制支数")="0" Else e.DataRow("机加在制支数") = e.newvalue.split(",").Length End If End Select Select Case e.DataCol.name Case "镀铜在制明细" If e.DataRow.IsNull("镀铜在制明细") Then e.DataRow("镀铜在制支数")="0" Else e.DataRow("镀铜在制支数") = e.newvalue.split(",").Length End If End Select Select Case e.DataCol.name Case "车研在制明细" If e.DataRow.IsNull("车研在制明细") Then e.DataRow("车研在制支数")="0" Else e.DataRow("车研在制支数") = e.newvalue.split(",").Length End If End Select Select Case e.DataCol.name Case "镀铬在制明细" If e.DataRow.IsNull("镀铬在制明细") Then e.DataRow("镀铬在制支数")="0" Else e.DataRow("镀铬在制支数") = e.newvalue.split(",").Length End If End Select [此贴子已经被作者于2012-11-28 8:43:12编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/11/28 8:49:00 -- 普通的:
Select Case e.DataCol.name
邪门的:
If e.DataCol.name.EndsWith("在制明细") Then |
||||
-- 作者:飞 -- 发布时间:2012/11/28 9:19:00 -- 超级精简的:
Dim ArrColName1() As String = {"电雕在制明细","机加在制明细","镀铜在制明细","车研在制明细","镀铬在制明细"} |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/11/28 9:22:00 -- ![]() |
||||
-- 作者:zcw728909 -- 发布时间:2012/11/28 9:25:00 -- 学习了,研究中 |
||||
-- 作者:zcw728909 -- 发布时间:2012/11/28 9:44:00 -- 用了三楼的代码,好像有问题,如果在制明细值为空,就会报错,应该是在制明细为空时,在制支数是“0” 还有,这句“If Index < 0 Then Return”是什么意思? [此贴子已经被作者于2012-11-28 9:52:41编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/11/28 10:14:00 -- 看了下代码,应该不会报错才对。可能是其他的代码引起的错误。 那句的意思是如果找不到对应的列,就不执行下面的代码。 |
||||
-- 作者:zcw728909 -- 发布时间:2012/11/28 10:35:00 -- 哦,我再仔细找找 |
||||
-- 作者:zcw728909 -- 发布时间:2012/11/28 10:52:00 -- 还是不行,我新建了个项目也不行,如下图:我在镀铬在制明细里输入值,镀铬在制支数自动输值,但是我把镀铬在制明细的值删除后,就报错了 ![]() ![]()
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/11/28 10:56:00 --
|