我有一个关于树视图控件的问题.我是C#的新手,并坚持如何将ID添加到相应的树节点.我不确定这行代码是否包含ID,如果没有,那么我应该包括什么.我想获取所选节点的ID.我如何继续请告诉我.我的代码如下 –
提前致谢.
private void PopulateTreeView() { treeDepartments.Nodes.Clear(); String strConn = "Server =server;Database =DB;Integrated Security = True;"; sqlConnection conn = new sqlConnection(strConn); sqlDataAdapter da = new sqlDataAdapter("Select * from tSubDepartments",conn); sqlDataAdapter daCategories = new sqlDataAdapter("Select * from tDepartments",conn); da.Fill(ds,"tSubDepartments"); daCategories.Fill(ds,"tDepartments"); ds.Relations.Add("Dept_SubDept",ds.Tables["tDepartments"].Columns["dpCode"],ds.Tables["tSubDepartments"].Columns["dpCode"]); foreach (DaTarow dr in ds.Tables["tDepartments"].Rows) { TreeNode tn = new TreeNode(dr["dpname"].ToString()); foreach (DaTarow drChild in dr.GetChildRows("Dept_SubDept")) { tn.Nodes.Add(drChild["sdName"].ToString()); } treeDepartments.Nodes.Add(tn); } }
解决方法
我认为,根据代码,你在WinForms工作,所以我的答案将基于这个假设.
ThreeNode对象具有类型对象的Tag属性(类似于WinForms中的任何Control类),您可以在其中存储您想要的任何内容,但是当您想要稍后使用它时,应该小心地将其强制转换为类型.所以你可以改变你的代码:
ThreeNode对象具有类型对象的Tag属性(类似于WinForms中的任何Control类),您可以在其中存储您想要的任何内容,但是当您想要稍后使用它时,应该小心地将其强制转换为类型.所以你可以改变你的代码:
private void PopulateTreeView() { treeDepartments.Nodes.Clear(); String strConn = "Server =server;Database =DB;Integrated Security = True;"; sqlConnection conn = new sqlConnection(strConn); sqlDataAdapter da = new sqlDataAdapter("Select * from tSubDepartments",conn); sqlDataAdapter daCategories = new sqlDataAdapter("Select * from tDepartments",conn); da.Fill(ds,"tSubDepartments"); daCategories.Fill(ds,"tDepartments"); ds.Relations.Add("Dept_SubDept",ds.Tables["tSubDepartments"].Columns["dpCode"]); foreach (DaTarow dr in ds.Tables["tDepartments"].Rows) { TreeNode tn = new TreeNode(dr["dpname"].ToString()); tn.Tag = dr["dpID"]; //put the ID into the Tag property of the node foreach (DaTarow drChild in dr.GetChildRows("Dept_SubDept")) { TreeNode childTn = new TreeNode(drChild["sdName"].ToString()); childTn.Tag = drChild["sdID"]; tn.Nodes.Add(childTn); } treeDepartments.Nodes.Add(tn); } }
当你想要提取TreeNode的ID时,只需像这样使用它(假设ID是int类型):
int ID = (int)tn.Tag;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。