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