读书人

关于winform中treeview重新绑定的有关

发布时间: 2012-02-12 17:16:34 作者: rapoo

关于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

读书人网 >C#

热点推荐