public void CreateTree(string parent, ExtAspNet.AccordionPane pnode, DataTable data) { ExtAspNet.Tree tree = new ExtAspNet.Tree(); tree.ShowBorder = false; tree.ShowHeader = false; tree.AutoScroll = true; tree.ID = parent; pnode.Items.Add(tree); foreach (DataRow dr in data.Rows) { if (dr["PARENT_ID"].ToString() == parent) { ExtAspNet.TreeNode node = new ExtAspNet.TreeNode(); node.NodeID = dr["COLUMN_TREE_ID"].ToString(); if (dr["COLUMN_DESCRIPTION"].ToString().Length > 15) { node.Text = dr["COLUMN_TREE_NAME"].ToString() + " " + dr["COLUMN_DESCRIPTION"].ToString().Substring(0, 15) + "..."; } else { node.Text = dr["COLUMN_TREE_NAME"].ToString() + " " + dr["COLUMN_DESCRIPTION"].ToString(); } node.IconUrl = "~/Icons/database_yellow.png"; node.ToolTip = dr["COLUMN_TREE_NAME"].ToString() + " " + dr["COLUMN_DESCRIPTION"].ToString(); //node.NavigateUrl = "ErrorPage.aspx"; node.NavigateUrl = "javascript:void(0)"; node.OnClientClick = "alert('未维护正确的栏目信息,请与管理员联系!'); return false;"; node.EnablePostBack = false; CreateTree(dr["COLUMN_TREE_ID"].ToString(), node, data); tree.Nodes.Add(node); } } }
/// <summary> /// 创建树节点 /// </summary> /// <param name="parent">父编码</param> /// <param name="pnode">节点</param> /// <param name="featList">数据</param> public void CreateTree(string parent, ExtAspNet.TreeNode pnode, DataTable data) { foreach (DataRow dr in data.Rows) { if (dr["PARENT_ID"].ToString() == parent) { ExtAspNet.TreeNode node = new ExtAspNet.TreeNode(); node.NodeID = dr["COLUMN_TREE_ID"].ToString(); if (dr["COLUMN_DESCRIPTION"].ToString().Length > 12) { node.Text = dr["COLUMN_TREE_NAME"].ToString() + " " + dr["COLUMN_DESCRIPTION"].ToString().Substring(0, 12) + "..."; } else { node.Text = dr["COLUMN_TREE_NAME"].ToString() + " " + dr["COLUMN_DESCRIPTION"].ToString(); } node.ToolTip = dr["COLUMN_TREE_NAME"].ToString() + " " + dr["COLUMN_DESCRIPTION"].ToString(); node.IconUrl = "~/Icons/database_yellow.png"; string treeID = CJia.Evaluation.Tools.Utils.AESEncrypt(dr["COLUMN_TREE_ID"].ToString()); node.NavigateUrl = "FirstOne.aspx?id=" + treeID; node.EnablePostBack = true; CreateTree(dr["COLUMN_TREE_ID"].ToString(), node, data); pnode.Nodes.Add(node); pnode.OnClientClick = ""; pnode.NavigateUrl = ""; } } }
/// <summary> /// 初始化TreeList /// </summary> public void InitTree(DataTable data) { this.tree_Low.Nodes.Clear(); //ExtAspNet.TreeNode node = new ExtAspNet.TreeNode(); //node.NodeID = "1"; //node.Text = "全部"; //node.IconUrl = "~/Icons/package.png"; //node.EnablePostBack = true; //node.Expanded = true; //this.tree_Main.Nodes.Add(node); if (data != null && data.Rows.Count != 0) { foreach (DataRow dr in data.Rows) { if (dr["PARENTID"].ToString() == string.Empty) { ExtAspNet.TreeNode node = new ExtAspNet.TreeNode(); node.NodeID = dr["ID"].ToString(); node.Text = dr["NAME"].ToString(); //node.IconUrl = node.Expanded = true; node.EnablePostBack = true; CreateTree(dr["ID"].ToString(), node, data); this.tree_Low.Nodes.Add(node); } } } }
/// <summary> /// 创建树节点 /// </summary> /// <param name="parent">父编码</param> /// <param name="pnode">节点</param> /// <param name="featList">数据</param> public void CreateTree(string parent, ExtAspNet.TreeNode pnode, DataTable data) { foreach (DataRow dr in data.Rows) { if (dr["PARENTID"].ToString() == parent) { ExtAspNet.TreeNode node = new ExtAspNet.TreeNode(); node.NodeID = dr["ID"].ToString(); //node.IconUrl = node.Text = dr["NAME"].ToString(); node.EnablePostBack = true; CreateTree(dr["ID"].ToString(), node, data); pnode.Nodes.Add(node); } } }
private static void ResolveSubTree(DataRow dataRow, string txtFieldName, string valFieldName, ExtAspNet.TreeNode treeNode) { DataRow[] rows = dataRow.GetChildRows("TreeRelation"); if (rows.Length > 0) { //treeNode.Expanded = true; foreach (DataRow row in rows) { ExtAspNet.TreeNode node = new ExtAspNet.TreeNode(); node.NodeID = row[valFieldName].ToString();; node.Text = row[txtFieldName].ToString(); node.EnablePostBack = treeNode.EnablePostBack; treeNode.Nodes.Add(node); ResolveSubTree(row, txtFieldName, valFieldName, node); } } }
/// <summary> /// 根据有父子关系的数据表创建树 /// </summary> /// <param name="dt">数据表</param> /// <param name="filter">过滤条件</param> /// <param name="txtFieldName">显示文本的字段名</param> /// <param name="valFieldName">显示值的字段名</param> /// <param name="isPostback">是否允许回发</param> /// <param name="childFieldName">子字段名</param> /// <param name="parFieldName">父字段名</param> public static void CreateTree(ExtAspNet.Tree tree, DataTable dt, string filter, string txtFieldName, string valFieldName, bool isPostback, string childFieldName, string parFieldName) { if (dt.DataSet == null) { DataSet ds = new DataSet(); ds.Tables.Add(dt); ds.Relations.Add("TreeRelation", dt.Columns[childFieldName], dt.Columns[parFieldName], false); } DataView dv = dt.DefaultView; if (!String.IsNullOrEmpty(filter)) { dv.RowFilter = filter; } foreach (DataRowView row in dv) { if (row[childFieldName].ToString() == "__") { continue; } if (row.Row.IsNull(parFieldName) || String.IsNullOrEmpty(row[parFieldName].ToString())) { ExtAspNet.TreeNode node = new ExtAspNet.TreeNode(); node.NodeID = row[valFieldName].ToString();; node.Text = row[txtFieldName].ToString(); node.Icon = ExtAspNet.Icon.Folder; node.IconUrl = "../images/treeview/node.jpg"; node.EnablePostBack = isPostback; //node.Expanded = true; tree.Nodes.Add(node); ResolveSubTree(row.Row, txtFieldName, valFieldName, node); } } //ds.Relations.RemoveAt(0); //ds.Tables.RemoveAt(0); //return tree; }