首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于winform中treeview重新绑定的有关问题,

2012-02-12 
关于winform中treeview重新绑定的问题,在线等`````````````为什么在修改某一节点名称,并重新绑定该treevie

关于winform中treeview重新绑定的问题,在线等`````````````
为什么在修改某一节点名称,并重新绑定该treeview后,界面上的treeview没有任何变化   ?   求一解.代码如下.

每次重新绑定调用的方法   getTreeItemType()

///   <summary>
                ///   绑定树
                ///   </summary>
                public   void   getTreeItemType()
                {
                        treeViewItemType.BeginUpdate();
                        treeViewItemType.Nodes.Clear();
                        string   sSql   =   "select   ItemTypeID,ItemTypeName   from   [ItemType] ";
                        TreeNode   tn   =   new   TreeNode();
                        tn.Text   =   "材料类别 ";
                        tn.Tag   =   string.Empty;
                        getNodes(tn,   sSql,   "0 ");
                        treeViewItemType.Nodes.Add(tn);
                        treeViewItemType.Nodes[0].Toggle();
                        treeViewItemType.EndUpdate();
                }

                ///   <summary>
                ///   递归读取树结构
                ///   </summary>
                ///   <param   name= "node "> TreeNode   node </param>
                ///   <param   name= "sql "> sql </param>
                ///   <param   name= "parentID "> 上级节点ID </param>
                private   void   getNodes(TreeNode   node,string   sql,   string   parentID)
                {
                        DataTable   dt   =   DB.DBTable(sql   +   "   where   ParentID   =   "   +   Int32.Parse(parentID));
                        TreeNode   tn;
                        foreach   (DataRow   row   in   dt.Rows)
                        {
                                tn   =   new   TreeNode();
                                tn.Text   =   row[ "ItemTypeName "].ToString();


                                tn.Tag   =   row[ "ItemTypeID "].ToString();
                                getNodes(tn,   sql,   row[ "ItemTypeID "].ToString());
                                node.Nodes.Add(tn);
                        }
                        dt.Dispose();
                }

[解决办法]
可以把数据库里的各个字段 写成一个类!

[解决办法]
你要檢查一下,在你修改資料扣,重新調用getNodes時,此時dt中此行的值是否是你修改后的值.

或者,你可以參考一下我寫的一個方法:
http://blog.csdn.net/cnjack/archive/2007/07/23/1702419.aspx
[解决办法]
在修改某一节点名称,并重新绑定该treeview后
==============

修改后的值
一定要先插入到数据库..你要先看看数据库中存在不 ? 否则虽然重新绑定就会 无效了

或者,你可以參考一下我寫的一個方法:
www.cnblogs.com/hjs1573

热点排行