1、使用背景:
通过机型配置测试项目清单,测试项目选择通过tree view实现;
2、实现方法:
获取tree view全部数据:
private string[] GetAllNodesDataToArray(TreeView treeView) { List<string> allNodesData = new List<string>(); // 调用辅助方法遍历 TreeView 的所有节点,并将节点的数据添加到列表中 TraverseNodes(treeView.Nodes, allNodesData); // 将存储数据的列表转换为数组 return allNodesData.ToArray(); }
获取tree view选中数据:
private void CheckNodeSelected(TreeNode node, List<string> selectedNodesData) { // 如果当前节点被选中 if (node.Checked) { // 将选中节点的数据添加到列表中 selectedNodesData.Add(node.Text); } // 遍历当前节点的子节点 foreach (TreeNode childNode in node.Nodes) { // 递归调用 CheckNodeSelected 方法检查子节点是否被选中,并将选中节点的数据添加到列表中 CheckNodeSelected(childNode, selectedNodesData); } }
对比全部数据及选中数据,生成 int 数组,选中数据置 1,未选中数据置 0 :
private int[] Check(string[] all, string[] exist) { int[] result = new int[all.Length]; for (int i =0; i<all.Length; i++) { bool found = false; foreach (string item in exist) { if (item == all[i]) { result[i] = 1; found = true; break; } } if (!found) { result[i] = 0; } } return result; }
3、实现效果:
选中机型及配置信息,执行数据上传即可,见下图:
使用端根据测试功能清单详情进行功能测试;
标签:C#,tree,--,int,选中,数据,节点,view From: https://www.cnblogs.com/Charlie-1009/p/18683037