none
vb.net2005关于treeview的问题,向feiyun0112致敬 RRS feed

  • 问题

  • 关于treeview建立3节点

    效果图:

    华为有限公司

               人事部

                    20080001张三

               管理部

                    20080005李四

                    20080010陈六

               业务部

                    20080018刘七

                    20080015向八

     

    我的代码是:

     

     

                Dim mrc As New DataSet
                Dim node2 As New TreeNode
                Dim selrow() As DataRow = Nothing
                Dim node3 As New TreeNode
                Dim sql As String
                sql = "select distinct bmmc from ygdast;"ygdast是个视图

                sql="select ygid,ygmc,bmmc from ygdast"
                mrc = exec2(sql)

                Me.TreeView1.Nodes.Add(node3)


                For Each rowj As DataRow In mrc.Tables(0).Rows

                    node2 = New TreeNode
                    node2.Text = rowj.Item("bmmc").ToString
                    node2.ForeColor = Color.Green
                    Me.TreeView1.Nodes(0).Nodes.Add(node2)
                    selrow = mrc.Tables(0).Select("bmmc='" & rowj.Item("bmmc").ToString & "'")

                          

                             For Each rowb As DataRow In selrow
                                 node3 = New TreeNode
                                 node3.Text = rowb.Item("ygid").ToString + rowb.Item("ygmc").ToString
                                 node3.ForeColor = Color.Red
                                 node2.Nodes.Add(node3)
                    Next

                Next

                Me.TreeView1.ExpandAll()

    结果运行后出现这样的:

    华为有限公司

               人事部

                    20080001张三

               管理部

                    20080005李四

                    20080010陈六

               业务部

                    20080018刘七

                    20080015向八

               管理部

                    20080005李四

                    20080010陈六

               业务部

                    20080018刘七

                    20080015向八

     

    都不知道问题错在哪?请版主feiyun0112帮我看一下,,,谢谢

    2008年10月22日 9:34

答案

  • Code Snippet

     

    sql = "select distinct bmmc from ygdast;"

                sql+="select ygid,ygmc,bmmc from ygdast"
                mrc = exec2(sql)

     

     

    Code Snippet

    selrow = mrc.Tables(1).Select("bmmc='" & rowj.Item("bmmc").ToString & "'")

     

     

    2008年10月24日 5:12
    版主

全部回复

  • 你只执行了

    Code Snippet

    sql="select ygid,ygmc,bmmc from ygdast"

     

     

     

    Code Snippet

    For Each rowj As DataRow In mrc.Tables(0).Rows

     

     

    应该用第一条SQL的数据

    Code Snippet

    sql = "select distinct bmmc from ygdast;"ygdast是个视图

     

     

    2008年10月23日 1:12
    版主
  • 要出现正确的答案应该是执行2条SQL语句

    sql="select distinct bmmc from ygdast"

    sql="select ygid,ygmc,bmmc from ygdast"

    但我为什么只执行了1条SQL语句

    如果我把SQL=”select distinct bmmc,ygid,ygmc from ygdast“

    出现的结果跟以前一样:

    华为有限公司

               人事部

                    20080001张三

               管理部

                    20080005李四

                    20080010陈六

               业务部

                    20080018刘七

                    20080015向八

               管理部

                    20080005李四

                    20080010陈六

               业务部

                    20080018刘七

                    20080015向八

     

    2008年10月23日 12:39
  • Code Snippet

     

    sql = "select distinct bmmc from ygdast;"

                sql+="select ygid,ygmc,bmmc from ygdast"
                mrc = exec2(sql)

     

     

    Code Snippet

    selrow = mrc.Tables(1).Select("bmmc='" & rowj.Item("bmmc").ToString & "'")

     

     

    2008年10月24日 5:12
    版主
  •  

    搞好了..谢谢feiyun0112老师
    2008年10月26日 16:22