treeview绑定到了数据库,也成功显示出了数据,只是显示不完全,只能显示出前几个,不知道这是为什么?

问题描述

在数据库中parent_id为"0"的有10个,但是运行时却只能显示前5个,不知道为什么呢?//protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){this.InitReportMenu();}}//treeview绑定代码:privatevoidInitReportMenu(){try{stringstrCD="0";DataSetds=this.GetDateFromDB(strCD);if(!ds.Tables[0].Rows.Count.Equals(0)){for(inti=0;i<ds.Tables[0].Rows.Count;i++){TreeNodemenuNode=newTreeNode();menuNode.Text=ds.Tables[0].Rows[i]["classname"].ToString();menuNode.Value=ds.Tables[0].Rows[i]["id"].ToString();menuNode.NavigateUrl="Default.aspx?class="+ds.Tables[0].Rows[i]["id"].ToString();TreeView_fox.Nodes.Add(menuNode);//二級addchildmenu1(menuNode,menuNode.Value);}}}catch{Response.Write("");}}privatevoidaddchildmenu1(TreeNodenode,stringstrCD){DataSetds=this.GetDateFromDB(strCD);if(!ds.Tables[0].Rows.Count.Equals(0)){for(intj=0;j<ds.Tables[0].Rows.Count;j++){TreeNodemenuNode=newTreeNode();menuNode.Text=ds.Tables[0].Rows[j]["classname"].ToString();menuNode.Value=ds.Tables[0].Rows[j]["id"].ToString();menuNode.NavigateUrl="Default.aspx?class="+ds.Tables[0].Rows[j]["id"].ToString();node.ChildNodes.Add(menuNode);addchildmenu1(menuNode,menuNode.Value);}}}publicDataSetGetDateFromDB(stringstrid){OleDbConnectionconn=newOleDbConnection();conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["connstring"];conn.Open();DataSetds=newDataSet();OleDbDataAdapterda=newOleDbDataAdapter("selectid,parent_id,classnamefromclasswhereparent_id="+strid,conn);da.Fill(ds,"ClassTable");returnds;conn.Close();}

解决方案

解决方案二:
可能是你的数据的parentid指向循环了,检查一下.
解决方案三:
奇怪的是,我刚才又运行了一下,竟然10个数据又都出来了,我再刷新一下,又只显示了5个
解决方案四:
我在过程"InitReportMenu"里加了response.write(i)试了下,有时显示:0123,有时显示:0123456789,所以有时能显示全,有时显示不全,我不知道为什么循环没有执行完.i的值不应该在过程"addchildmenu1"里被改变啊!!!大家帮我看看程序哪有问题?
解决方案五:
怎么没有人回答呢???我后来试了下,将addchildmenu1里的addchildmenu1去掉后可以显示出10条,但结果是只能显示二级
解决方案六:
protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){//取得所有节点并返回DSstringempID=treeMenu.selectEmpInfoByEmpName(Session["EmpName"].ToString()).Tables[0].Rows[0]["EmpID"].ToString();DataSetds=treeMenu.SelectMobuldInfo(Int32.Parse(empID));DataTabledt=newDataTable();dt=ds.Tables[0];AddNodes(dt,null,"0");}}//递归添加节点privatevoidAddNodes(DataTabledt,TreeNodenode,stringid){DataRow[]rows=dt.Select("ParentModuleID="+id);//筛选出属于父节点“node”的子节点集合foreach(DataRowdrinrows)//循环子节点集合{TreeNodend=newTreeNode();nd.Value=dr["quanXianID"].ToString();//存放节点IDnd.Text=dr["quanXianMingCheng"].ToString();//设置节点名称nd.ImageUrl=dr["imageURL"].ToString();//设置节点的图片nd.NavigateUrl=dr["URl"].ToString();//设置节点的链接nd.Target="MainFrame";this.AddNodes(dt,nd,nd.Value);//递归,添加该节点的子节点if(node==null||id=="0"){TreeView1.Nodes.Add(nd);//添加至根节点}else{node.ChildNodes.Add(nd);//添加子节点}}}给你一段代码,你自己去改吧这个没有问题,我用过
解决方案七:
设断点,跟进去应该好找

时间: 2024-10-30 12:00:18

treeview绑定到了数据库,也成功显示出了数据,只是显示不完全,只能显示出前几个,不知道这是为什么?的相关文章

在WIN8系统加载图片可打印出图片,但在XP系统只能显示图片并不能打印出图片?

问题描述 在WIN8系统加载图片可打印出图片,但在XP系统只能显示图片并不能打印出图片? 如题,在WIN8系统MFC单文档应用程序中加载图片可以显示并打印出图片,但在XP系统中运行程序只能显示图片并不能打印出图片这是什么情况?是系统兼容性的问题吗?求大神解答 解决方案 检查下你的xp是不是山寨盗版,精简了打印的组件或者缺少驱动程序,也可能是你安装了虚拟打印机之类的软件. 解决方案二: 在XP系统上的文字部分都能打印出来,但就是图片打印不出来,应该不是打印机驱动的问题吧 解决方案三: 加载图片程序

freemarker-使用FreeMarker写出的在读取list时怎么只能显示最后一条信息

问题描述 使用FreeMarker写出的在读取list时怎么只能显示最后一条信息 求指教!!!我没有金币谅解!! 解决方案 因为你一直都是给同一个对象赋值,map中的key值是唯一的,每循环一次记得新建一个map对象或者改变key值

模拟器显示4分之1图形-ios模拟器屏幕只能显示左上角部分,求大神解决

问题描述 ios模拟器屏幕只能显示左上角部分,求大神解决 刚刚开始学习ios,用ios编程第四版在学习,但是按照书上的代码运行后的矩形只能显示一部分,还请大神帮分析 @implementation AppDelegate (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc

asp.net用gridview显示数据库中两个表的数据?

问题描述 asp.net用gridview显示数据库中两个表的数据? asp.net用gridview显示数据库中两个表的数据?把两表绑定在datatable并用gridview显示数据 解决方案 两个表什么关系?如果是一样的表结构,用union连接,如果是主系表关系,那么可以用join.具体按照我说的google下. 解决方案二: 不管是查询几个表,最后通过sql语句走ado.net,查询出来的数据都放入DataTable或DataSet中,然后绑定到gridview 解决方案三: 如果是一起

c语言-c程序的显示面板怎么显示更多的数据

问题描述 c程序的显示面板怎么显示更多的数据 如果n这样的换行多了就占用空间,不能显示所有的数据,,怎么让他显示更多数据啊,谢谢亲们解答 解决方案 怎么没有显示所有数据?不是有下拉框吗? 解决方案二: 点击控制台黑色窗口左上角图标,打开属性,布局,缓冲区宽度,改为160,确定. 退出程序.重新运行,最大化窗口. 解决方案三: 点击控制台黑色窗口左上角图标,打开属性,布局,缓冲区宽度,改为160,确定. 退出程序.重新运行,最大化窗口. 解决方案四: 运行程序的时候将结果重定向到文件,到文件查看执

treeview绑定到数据库,我如何得到选定节点的ID值

问题描述 treeview绑定到数据库,我如何得到选定节点的ID值. 解决方案 解决方案二:ding解决方案三:l解决方案四:treeview加载节点时treeview1.nodes.add("Id","Text");//根节点信息treeview_afterselect事件里,{messsagebox.show(e.nodes.name);//显示选择节点的key}解决方案五:TreeView1.SelectedNode.Value解决方案六:还是不对解决方案七:

TreeView绑定无限级分类问题(数据库读数据)

问题描述 如何实现TreeView绑定无限级分类,求源码! 解决方案 解决方案二:嵌套试试以前做DataList的时候,就是嵌套做到绑定父类下面子类的类似树状节点和TreeView原理是一样的解决方案三:privatevoidInitTree(TreeNodeCollectionNds,stringparentId){DataViewdv=newDataView();TreeNodetmpNd;stringintId;dv.Table=ds.Tables["tree"];dv.RowF

.net-chart组件绑定数据(DataBindTable)后无法显示曲线或不能显示所有Series

问题描述 chart组件绑定数据(DataBindTable)后无法显示曲线或不能显示所有Series 我用vs2010编写的一个小工具,在利用vs2010附带的chart生成图表时出现无法解决的疑问.databindtable在绑定数据时总是会出现无法显示曲线或者无法绑定的问题,如下描述: 数据库结构: 列名 数据类型 是否可为NUll id int型 主键标识 false mac_id int false value varchar(MAX) true Hum varchar(MAX) tr

哪位大哥大姐能给我一份JQuery中treeview绑定右键菜单

问题描述 哪位大哥大姐能给我一份JQuery中treeview绑定右键菜单 treeview是读取数据库的,在treeview任一节点上单击右键弹出菜单(我自己设置的内容:例如:"添加"."删除"."修改")一定要实现其功能啊!!!!急急急!!!!!!!!!!!!!!