Winform中TreeView绑定过多数据时,造成程序崩溃,该怎么解决?

byevilangel 发布于 2013/04/18 10:00
阅读 999
收藏 0
利用循环从数据库中通过限定条件提取数据绑定给treeview,但是当需要绑定的数据过多时,会造成程序的崩溃,这该怎么解决?
 
private void CreateTreeView(TreeNodeCollection nodes, DataTable dataSource,intparentid)

       {

           //构建查询条件

           stringfileter;

           fileter =string.Format(BC_BAS_SKU_Type.ColumnsName.parentID +"={0}", parentid);

           //获取与筛选条件匹配的所有Datarow对象

           DataRow[] drarr = dataSource.Select(fileter);

           TreeNode node;

           //循环构建树节点

           foreach(DataRow drindrarr)

           {

               node =newTreeNode();

               node.Text = Convert.ToString(dr[BC_BAS_SKU_Type.ColumnsName.name]);

               node.Tag = Convert.ToString(dr[BC_BAS_SKU_Type.ColumnsName.iD]);

               nodes.Add(node);

               //递归实现子节点的构建

               CreateTreeView(node.Nodes, dataSource, Int32.Parse(node.Tag.ToString()));

           }

       }
 
加载中
0
假正经哥哥
假正经哥哥
然后在绘制的时候 注意调用beginupdate,结束后调用endupdate 可以防止多次重绘
0
假正经哥哥
假正经哥哥
跟客户端一样, 分布加载,不要一下绑定啥
0
byevilangel
byevilangel

引用来自“假正经哥哥”的答案

跟客户端一样, 分布加载,不要一下绑定啥
你的意思是想绑定父级,然后根据父级BeforeExpaned事件绑定子级?
假正经哥哥
假正经哥哥
是啊,可以这么做,如果很大的话
返回顶部
顶部