在VB.net中用树视图显示树有问题
这里有循环的代码
While Not mROC.EOF
tmpStr = ""
For i = 0 To UBound(sColumns) Step 3
If sColumns(2 + i) = "" Then
tmpStr = tmpStr & mROC(sColumns(i)).Value
tmpStr = tmpStr & " "
Else
tmpStr = tmpStr & Format(mROC(sColumns(i)).Value, sColumns(2 + i))
tmpStr = tmpStr & " "
End If
Next
If mROC("parentCode").Value = "" Then
srcTv.Nodes.Add(mROC("code").Value & "A", tmpStr)
Else
Dim TNode() As TreeNode = srcTv.Nodes.Find(mROC("parentCode").Value & "A", True)
TNode(0).Nodes.Add(mROC("code").Value & "A", tmpStr)
End If
mROC.MoveNext()
End WhilesrcTv是树视图
mROC是使用select命令进行数据库循环。
tmpStr只是结合了数据库中的字段代码和描述,例如:"CT00001 Ari“
这是数据库
code |description |parentCode
-----------------------------------
CT00001 |Ari |KMD
CT00002 |Angga |KMD
CT00003 |Bagus |CT00001
KMD |Parent_A |
OLH |Parent_B | 我想要的结果是
KMD Parent_A
-CT00001 Ari
-CT00003 Bagus
-CT00002 Angga
OLH Parent_B当父程序只有一个子程序时,我的代码工作得很好,但是当加载第二个子程序时,代码会出错(CT00003 Bagus)。
请帮助我这个项目,GBU为读者和回答我的问题。^_^
发布于 2014-11-22 11:20:34
嗯,
你好像得到了重复的钥匙。试试这个:
If mROC("parentCode").Value = "" Then
srcTv.Nodes.Add(mROC("code").Value & "A", tmpStr)
Else
Dim TNode() As TreeNode = srcTv.Nodes.Find(mROC("parentCode").Value & "A", True)
Dim sKey As String = mROC("code").Value
If srcTv.Nodes.Find(sKey & "A", True) Is Nothing Then
sKey &= "A"
Else
sKey &= "B"
End If
TNode(0).Nodes.Add(sKey, tmpStr)
End If**https://stackoverflow.com/questions/27075529
复制相似问题