コード例 #1
0
ファイル: HomePage.aspx.cs プロジェクト: whuacn/CJia
 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);
         }
     }
 }
コード例 #2
0
ファイル: ExtTreeUtil.cs プロジェクト: hzlloach/EPBMS
            /// <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;
            }