/// <summary> /// /// </summary> /// <param name="nodename"></param> /// <param name="nc"></param> protected bool NodesExpand(string nodename, TreeViewNodeCollection nc) { bool isexist = false; foreach (TreeViewNode tvn in nc) { if (tvn.Name != nodename) { if (tvn.Nodes.Count > 0) { isexist = NodesExpand(nodename, tvn.Nodes); if(isexist) { //tvn.Parent.Expanded = true; return true; } } } else { tvn.TreeView.ExpandToNode(tvn); return true; } } return isexist; }
private bool ExpandToSelection(SfTreeView tree, TreeViewNodeCollection nodes, object model) { foreach (var node in nodes) { if ((node.Content as FileManager).ItemName == (model as FileManager).ItemName) { var parent = node.ParentNode; while (parent != null) { tree.ExpandNode(parent); parent = parent.ParentNode; } return(true); } } foreach (var node in nodes) { if (node.HasChildNodes) { var found = ExpandToSelection(tree, node.ChildNodes, model); if (found) { return(true); } } } return(false); }
private void AddTrainCourseBook(TreeViewNodeCollection tvNodes) { ArrayList objList = GetChapterList(); foreach (TreeViewNode node in tvNodes) { if (node.Checked == true) { if (objList.IndexOf(node.ID) == -1) { TrainCourseBookBLL trainCourseBookBLL = new TrainCourseBookBLL(); RailExam.Model.TrainCourseBook trainCourseBook = new RailExam.Model.TrainCourseBook(); if (node.ParentNode == null) { trainCourseBook.ChapterID = string.Empty; } else { trainCourseBook.ChapterID = node.ID; } trainCourseBook.CourseID = Convert.ToInt32(ViewState["CourseID"].ToString()); trainCourseBook.BookID = Convert.ToInt32(node.Value); trainCourseBookBLL.AddTrainCourseBook(trainCourseBook); } } if (node.Nodes.Count > 0) { AddTrainCourseBook(node.Nodes); } } }
private void DelTrainCourseBook(TreeViewNodeCollection tvNodes) { foreach (TreeViewNode node in tvNodes) { if (node.Checked == true) { TrainCourseBookBLL obj = new TrainCourseBookBLL(); int n = 0; foreach (TreeViewNode node1 in node.Nodes) { if (node1.Checked == true) { n = n + 1; } } if (n != node.Nodes.Count) { Response.Write("<script>alert('要移除已选教材章节的父节点时必须选中其所有子节点!');</script>"); return; } else { obj.DeleteTrainCourseBook(Convert.ToInt32(node.ID)); } obj.DeleteTrainCourseBook(Convert.ToInt32(node.ID)); } if (node.Nodes.Count > 0) { DelTrainCourseBook(node.Nodes); } } }
private void IsDel(TreeViewNodeCollection tvNodes) { int n = 0; foreach (TreeViewNode node in tvNodes) { if (node.Checked == false) { n = n + 1; } if (n == 0) { if (node.Nodes.Count > 0) { IsDel(node.Nodes); } } else { Response.Write("<script>alert('要移除已选教材章节的父节点时必须选中其所有子节点!');</script>"); return; } } }
private void AddTrainCourseCourseware(TreeViewNodeCollection tvNodes) { ArrayList objList = GetCourseWareList(); foreach (TreeViewNode node in tvNodes) { if (node.ShowCheckBox == true) { if (node.Checked == true) { if (objList.IndexOf(node.Value) == -1) { TrainCourseCoursewareBLL obj = new TrainCourseCoursewareBLL(); TrainCourseCourseware objTrainCourseCourseware = new TrainCourseCourseware(); objTrainCourseCourseware.CourseID = Convert.ToInt32(ViewState["CourseID"].ToString()); objTrainCourseCourseware.CoursewareID = Convert.ToInt32(node.Value); obj.AddTrainCourseCourseware(objTrainCourseCourseware); } } } if (node.Nodes.Count > 0) { AddTrainCourseCourseware(node.Nodes); } } }
/// <summary> /// 创建兼容 TreeViewNodeCollection 的对象(List作为参数) /// </summary> /// <typeparam name="T"></typeparam> /// <param name="data"></param> /// <param name="keyGet"></param> /// <param name="parentKeyGet"></param> /// <param name="destroyData"></param> /// <returns></returns> public static TreeViewNodeCollection CreateTVNodeCollectionDX <T>( List <T> data, Func <T, string> keyGet, Func <T, string> parentKeyGet, Action <TreeViewNode, T> nodeSet, int dept = -1, bool destroyData = false) { TreeViewNodeCollection tc = new TreeViewNodeCollection(); if (data.Count == 0) { return(tc); } List <T> lstCopy = data; if (!destroyData) { lstCopy = data.ToList(); // 做多一个拷贝 } // 采用递归方式执行节点创建 Action <List <T>, int, string, TreeViewNodeCollection> _do = (all, dpt, parentId, parentCollection) => { }; _do = (all, dpt, parentId, parentCollection) => { Func <T, bool> _where = t => parentKeyGet(t) == parentId; if (string.IsNullOrEmpty(parentId)) { _where = t => string.IsNullOrEmpty(parentKeyGet(t)); } List <T> children = all.Where(_where).ToList(); children.ForEach(c => all.Remove(c)); children.ForEach(c => { TreeViewNode node = new TreeViewNode() { Name = keyGet(c) }; nodeSet(node, c); if (parentCollection != null) { parentCollection.Add(node); } if (dpt < dept || dept == -1) { _do(all, (dpt == -1) ? dpt : dpt + 1, node.Name, node.Nodes); } }); }; // 执行递归,并返回结果 // 最高层的字段值为 null 或者 空字符串 _do(lstCopy, 0, null, tc); if (tc.Count == 0) { _do(lstCopy, 0, "-1", tc); // 没获得树,则用 "-1" 试试 } return(tc); }
protected void ProcessSeparatorNodes(TreeViewNodeCollection nodes, ref int seperatorIndex) { foreach (TreeViewNode node in nodes) { if (node.NodeStyle.CssClass == "sp") { node.Name = "sp" + seperatorIndex++; } ProcessSeparatorNodes(node.Nodes, ref seperatorIndex); } }
public static bool Contains(this TreeViewNodeCollection collection, string value) { foreach (TreeViewNode node in collection) { if (node.Value == value) { return(true); } } return(false); }
private static void PerformActionOnNodesRecursive(TreeViewNodeCollection nodes, Action <TreeViewNode> action) { foreach (TreeViewNode node in nodes) { action(node); if (node.Nodes.Count > 0) { PerformActionOnNodesRecursive(node.Nodes, action); } } }
private void ShowCheckBox(TreeViewNodeCollection nodes) { foreach (TreeViewNode node in nodes) { node.ShowCheckBox = true; if (node.Nodes.Count > 0) { ShowCheckBox(node.Nodes); } } }
private void CreateTreeViewNodesRecursive(DataTable table, TreeViewNodeCollection nodesCollection, string parentID) { for (int i = 0; i < table.Rows.Count; i++) { if (table.Rows[i]["ParentID"].ToString() == parentID) { TreeViewNode node = new TreeViewNode(table.Rows[i]["Title"].ToString(), table.Rows[i]["ID"].ToString()); nodesCollection.Add(node); CreateTreeViewNodesRecursive(table, node.Nodes, node.Name); } } }
//递归赋值已选项 private void SetTreeNodeSelected(string ids, TreeViewNodeCollection tvNodes) { foreach (TreeViewNode node in tvNodes) { if (node.Nodes.Count > 0) { SetTreeNodeSelected(ids, node.Nodes); } else { node.Checked = ids.Contains(node.Value); } } }
private void GetIDS(TreeViewNodeCollection nodes, ref string strIDS) { foreach (TreeViewNode node in nodes) { if (node.Checked) { strIDS += node.ID + ","; } if (node.Nodes.Count > 0) { GetIDS(node.Nodes, ref strIDS); } } }
public void ChangeNodeColor(TreeViewNodeCollection nodes) { foreach (TreeViewNode node in nodes) { if (node.Value == typeId) { node.TextColor = Color.Red; return; } if (node.Nodes.Count > 0) { ChangeNodeColor(node.Nodes); } } }
private ArrayList GetOrg(TreeViewNodeCollection nodes, ArrayList al) { foreach (TreeViewNode tn in nodes) { if (tn.Checked) { al.Add(tn.ID); } if (tn.Nodes.Count > 0) { GetOrg(tn.Nodes, al); } } return(al); }
private void DelTrainCourseCourseware(TreeViewNodeCollection tvNodes) { foreach (TreeViewNode node in tvNodes) { if (node.ShowCheckBox == true) { if (node.Checked == true) { TrainCourseCoursewareBLL obj = new TrainCourseCoursewareBLL(); obj.DeleteTrainCourseCourseware(Convert.ToInt32(node.Value)); } } if (node.Nodes.Count > 0) { DelTrainCourseCourseware(node.Nodes); } } }
protected TreeViewNode FindTextInNodesRecursive(string text, TreeViewNodeCollection nodes) { foreach (TreeViewNode node in nodes) { if (node.Text.ToLower().Contains(text)) { return(node); } if (node.Nodes.Count > 0) { TreeViewNode foundNode = FindTextInNodesRecursive(text, node.Nodes); if (foundNode != null) { return(foundNode); } } } return(null); }
private string NodeToSource(TreeViewNodeCollection treeViewNodeCollection) { var startSourceCode = string.Empty; var ChildsSourceCode = string.Empty; var finishSourceCode = string.Empty; foreach (TreeViewNode treeViewNode in treeViewNodeCollection) { var curCncptExprsn = BConceptExpression.GetByID(Convert.ToDecimal(treeViewNode.Value)); startSourceCode = curCncptExprsn.ScriptBeginEn; if (treeViewNode.Nodes != null && treeViewNode.Nodes.Count > 1) { ChildsSourceCode = NodeToSource(treeViewNode.Nodes); } finishSourceCode = curCncptExprsn.ScriptEndEn; } return(string.Format("{0}{2}{3}", startSourceCode, ChildsSourceCode, finishSourceCode)); }
private void Bind(TreeViewNodeCollection tvnNodes) { foreach (TreeViewNode node in tvnNodes) { if (node.Nodes.Count == 0) { BookBLL objBll = new BookBLL(); IList <RailExam.Model.Book> objList = objBll.GetBookByKnowledgeIDPath(node.Value); foreach (RailExam.Model.Book book in objList) { TreeViewNode item = new TreeViewNode(); item.ID = book.bookId.ToString(); item.Value = book.bookId.ToString(); item.Text = book.bookName; item.ToolTip = book.bookName; item.Attributes.Add("isBook", "true"); item.ImageUrl = "~/App_Themes/" + StyleSheetTheme + "/Images/TreeView/Book.gif"; try { tvBookChapter.FindNodeById(node.ID).Nodes.Add(item); } catch { tvBookChapter.Nodes.Clear(); SessionSet.PageMessage = "Êý¾Ý´íÎó£¡"; return; } } } else { Bind(node.Nodes); } } }
protected void ddlAccount_SelectedIndexChanged(object sender, EventArgs e) { TreeViewNodes = null; showAllPortfolio(); }
protected void odsPortfolioComponents_Selected(object sender, ObjectDataSourceStatusEventArgs e) { DataTable dataTable = ((DataSet)e.ReturnValue).Tables[0]; if (TreeViewNodes == null) { TreeViewNodes = (new TreeViewNodeCollection(dataTable.Rows.Cast<DataRow>() .Select(row => new TreeViewNode((int)row["LineNumber"], (int)row["ParentLineNumber"])))) .ExpandToDepth(1); } int[] invisibleNodeKeys = TreeViewNodes.Where(node => !node.Visible) .Select(node => node.NodeKey).ToArray(); DataRow[] invisibleRows = dataTable.Rows.Cast<DataRow>() .Where(row => invisibleNodeKeys.Contains((int)row["LineNumber"])).ToArray(); foreach (DataRow row in invisibleRows) dataTable.Rows.Remove(row); }
void TreeViewNodeSelected(TreeViewNodeCollection tvCollection, StringCollection rightCollection) { if (tvCollection != null && rightCollection != null && rightCollection.Count > 0) { foreach (TreeViewNode node in tvCollection) { foreach (string rid in rightCollection) { if (node.Value.EndsWith(rid)) { node.Checked = true; break; } } if (node.Childs.Count > 0) this.TreeViewNodeSelected(node.Childs, rightCollection); } } }