我这有个简化了的表,其中“成本名称”列是从其它表填充过来的数据,我想利用此列自动生成:“成本项目”、“一级明细”、“二级明细”、“三级明细”,所以我在成本项目列设置了计算代码,出现问题如下:
1、重算列出现提示,大意是说数组越界,按回车键仍可计算出来。
2、其中有3行不能计算。
计算代码我检查了好几遍,好像没错误,百思不得其解,请高手帮我看看,谢谢了!
Dim mc As String = e.datarow("成本名称")
Dim Values as String()
Dim n as Integer
if mc.indexof("-") <> -1 then
Values = mc.split("-")
n = Values.length
Select Case n
Case 1
e.datarow("成本项目") = Values(0)
e.datarow("一级明细") = Values(1)
Case 2
e.datarow("成本项目") = Values(0)
e.datarow("一级明细") = Values(1)
e.datarow("二级明细") = Values(2)
Case 3
e.datarow("成本项目") = Values(0)
e.datarow("一级明细") = Values(1)
e.datarow("二级明细") = Values(2)
e.datarow("三级明细") = Values(3)
End Select
else
e.datarow("成本项目") = e.datarow("成本名称")
end if
这里改一下就ok:
n = Values.length-1
以下是引用jweishan在2008-9-26 0:17:00的发言: 我这有个简化了的表,其中“成本名称”列是从其它表填充过来的数据,我想利用此列自动生成:“成本项目”、“一级明细”、“二级明细”、“三级明细”,所以我在成本项目列设置了计算代码,出现问题如下:
1、重算列出现提示,大意是说数组越界,按回车键仍可计算出来。
2、其中有3行不能计算。
计算代码我检查了好几遍,好像没错误,百思不得其解,请高手帮我看看,谢谢了!
Dim mc As String = e.datarow("成本名称")
Dim Values as String()
Dim n as Integer
if mc.indexof("-") <> -1 then
Values = mc.split("-")
n = Values.length
Select Case n
Case 1
e.datarow("成本项目") = Values(0)
e.datarow("一级明细") = Values(1)
Case 2
e.datarow("成本项目") = Values(0)
e.datarow("一级明细") = Values(1)
e.datarow("二级明细") = Values(2)
Case 3
e.datarow("成本项目") = Values(0)
e.datarow("一级明细") = Values(1)
e.datarow("二级明细") = Values(2)
e.datarow("三级明细") = Values(3)
End Select
else
e.datarow("成本项目") = e.datarow("成本名称")
end if
唉,代码太烦了关键灵活应用不行。