老师好,烦您看一下,修改的编码,执行有错误,劳烦您帮我改改,多谢。
科目目录树递归中数组的自定义问题
教材中实例“科目类别”是数组:Dim rts() As String = {"全部","资产","负债","权益","成本","损益"}
而实际工作中是经常变化的,有的公司是 {"全部","资产","负债","权益","生产成本","收入"","成本"。。。。}
}
我的构造是做了一个数据表(科目类别)来反映编码名称列内容“科目类型”,如下图:
此主题相关图片如下:科目类别.jpg

将教材中实例Dim rts() As String = {"全部","资产","负债","权益","成本","损益"}
更换为下列代码:
Dim KMLX As new List(of String)
KMLX= DataTables("科目类别").GetValues("编码名称")
Dim rts() As String =KMLX.ToArray()
出现如下错误
此主题相关图片如下:错误.jpg

全部代码如下,
Dim tr As WinForm.TreeView = e.Form.Controls("会计科目.TV")
Dim kmlX As new List(of String)
kmlX= DataTables("科目类别").GetValues("编码名称")
Dim rts() As String =kmlX.ToArray()‘希望rts()引用数组KMLB
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("会计科目")
tr.StopRedraw()
tr.Nodes.Clear
For Each rt As String In rts
tr.Nodes.Add(rt)
Next
Dim gz As String = DataTables("分类编码方案").Find("基础档案名称 = '会计科目'")("编码规则")
For Each dr As DataRow In dt.Select("","编码规则")
If dr.IsNull("编码规则") = False AndAlso dr("编码规则").Length = val(gz(0)) Then
Dim i As Integer = CInt(dr("编码规则").Substring(0,1))
nd = tr.Nodes(i).Nodes.Add(dr("编码规则"),dr("编码规则") & " " & dr("编码名称"))
Functions.Execute("AddChildren",nd,dt,gz)
End If
Next
tr.ResumeRedraw()
[此贴子已经被作者于2014-8-8 22:33:44编辑过]