c# – 如何在树视图中添加ID
发布时间:2020-12-15 21:49:09 所属栏目:百科 来源:网络整理
导读:我有一个关于树视图控件的问题.我是C#的新手,并坚持如何将ID添加到相应的树节点.我不确定这行代码是否包含ID,如果没有,那么我应该包括什么.我想获取所选节点的ID.我如何继续请告诉我.我的代码如下 – 提前致谢. private void PopulateTreeView() { treeDepar
我有一个关于树视图控件的问题.我是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类),您可以在其中存储您想要的任何内容,但是当您想要稍后使用它时,应该小心地将其强制转换为类型.所以你可以改变你的代码: 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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |