电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

winform创建树


发布日期:2022/6/24
 
数据集的格式如下行的ParentLayNo值等于父节点的LayNo值

层次编号 父节点编号

LayNo ParentLayNo

///

/// 生成树添加顶级节点/// 改方法主要用于生成根节点///

用户TreeView控件///

数据表结果集 public static void createTree(TreeView vTreeView DataTable vDataTable) { DataView vDataView = vDataTableDefaultView; //获取默认视图 vDataViewSort = ParentLayNo ASC; //根据父节点字段排序 DataRowView[] arrDRV = vDataViewFindRows(); //树根节点的父亲节点必须是 if (arrDRVLength == ) //如果没有儿子节点则直接返回 return; TreeNode rootTreeNode = null; foreach (DataRowView vDRV in arrDRV) { rootTreeNode = new TreeNode(vDRVRow[TableConfigT_PUB_NAME[]]ToString());//参数为显示的信息 vTreeViewNodesAdd(rootTreeNode); String[] arrTag = new String[]; arrTag[] = vDRVRow[rid]ToString(); //流水号 arrTag[] = vDRVRow[LayNo]ToString(); //层次代码 rootTreeNodeTag = arrTag; CreateTreeNode(vDataView rootTreeNode); }}

///

/// 利用递归生成树 /// 改方法主要用于生成根节点的子结点及其子节点的子结点

//

获取默认视图 ///

TreeView控件节点引用 private static void CreateTreeNode(DataView vDataView TreeNode parentNode) { DataRowView[] arrDRV = vDataViewFindRows(((String[])parentNodeTag)[]); //找出同一父节点的所有子节点 if (arrDRVLength == ) //如果没有儿子节点则直接返回 return; TreeNode tmpTreeNode = null; foreach (DataRowView vDRV in arrDRV) { tmpTreeNode = new TreeNode(vDRVRow[TableConfigT_PUB_NAME[]]ToString());//参数为显示的信息 parentNodeNodesAdd(tmpTreeNode);//添加节点 String[] arrTag = new String[]; arrTag[] = vDRVRow[rid]ToString(); //流水号 唯一值 arrTag[] = vDRVRow[LayNo]ToString(); //层次代码 tmpTreeNodeTag = arrTag; CreateTreeNode(vDataView tmpTreeNode); //进入递归 }}

上一篇:Linq入门演练:lambda表达式

下一篇:客户端访问Web Service方法的一个细节