问题描述
大家好,本来不懂编程,由于工作的需要,所以自己上网找了很多代码做参考尝试的做软件用大多数功能所涉及到的控件、代码,理解或者生搬硬套的,勉强算是完成了现在遇到了一个各实在理解不上去的地方,害羞的码文来这里找高手们求助啦~~~嘿嘿,希望能得到大家的支持需要treeview控件,从数据库载入数据论坛里大家说要用“递归”,不看懂,不会改,基本的概念一点没有我要做一个类似这样的数据库是这样的[表xinxi]:[id][upid][name][xinxi1][xinxi2]将[表xinxi]注入到treeview中选择好需要的[name]后,双击treeview相应的[xinxi1]和[xinxi2]会进入到textbox1和textbox2里面点击保存,加上两个textbox的数据一起保存进另一个表格这是我在论坛里找到的代码:DimconnAsOleDbConnectionConnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:a.mdb;JetOLEDB:DataBasepassword=hljmri2007;PersistSecurityInfo=False"DimdaAsOleDbDataAdapterDimdsAsDataSetconn=NewOleDbConnection(ConnStr)'----主体部分----'TryTreeView1.Nodes.Clear()conn.Open()'能加载到TreeView的数据量不会多,一次性全取。''还有你把用到的字段自己列一下,代替*'DimsqlRWListAsString="SELECT*FROMxinxi"DimdaAsNewOleDbDataAdapter(sqlRWList,conn)DimdtRWListAsNewDataTable()da.Fill(dtRWList)dep0SQL="SELECTid,upid,nameFROMxinxiWHEREname='"&loadMAN&"'"'根据登陆人找出项目组''(项目组这行是因为我不会改,所以没有改动)dep0com=NewOleDbCommand(dep0SQL,conn)dep0dr=dep0com.ExecuteReader()Whiledep0dr.Read()'找到项目组后,按项目组把主任务理出来'Dimrows()AsDataRow=dtRWList.Select("RWSID=0andRwtoDep='"&dep0dr.Item("RWGname"))ForEachrowAsDataRowInrowsDimtree_rootAsNewTreeNode()tree_root.Text=row("RWID")&")"&row("RWtitle")'树上显示的是根节点名称'TreeView1.Nodes.Add(tree_root)AddSubNodes(tree_root,row,dtRWList)NextEndWhileCatchexAsExceptionMsgBox(ex.ToString)Finallyconn.Close()EndTryTreeView1.ExpandAll()TreeView1.Select()EndSub
请问,我这种情况需要改动哪里,感觉有一些我这里不需要,比如项目组之类的嘿嘿,谢谢大家帮忙了,我这里等候您的指导~~
解决方案
解决方案二:
怎么说呢,调试一下,一步一步地操作,对你的理解有很大帮助
解决方案三:
先查询出数据库表里的数据放到内存表里datarwlistselectid,name,xinxi1,xinxi2fromxinxi再做个循环,往treeview里插入节点。Dimtree_rootAsNewTreeNode()tree_root.Text=datarwlist.rows.item(i).item(0)&"-"&datarwlist.rows.item(i).item(1)tree_root.tag=datarwlist.rows.item(i).item(2)&"→"&datarwlist.rows.item(i).item(3)点击节点的事件里textbox1和textbox2就直接获取treeview的节点的tag的值。