惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
T
Threatpost
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
Recorded Future
Recorded Future
小众软件
小众软件
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
博客园 - 聂微东
美团技术团队
F
Fortinet All Blogs
I
InfoQ
U
Unit 42
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Vercel News
Vercel News
GbyAI
GbyAI
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
H
Help Net Security
B
Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
Jina AI
Jina AI
The Register - Security
The Register - Security
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 叶小钗
Recent Announcements
Recent Announcements
D
DataBreaches.Net
IT之家
IT之家
雷峰网
雷峰网
Y
Y Combinator Blog
W
WeLiveSecurity
P
Proofpoint News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
月光博客
月光博客
The Hacker News
The Hacker News

博客园 - 小子好黑

String 和 string vs2005常用快捷键 菜单 Wscript.shell 收集一些常用的正则表达式 WINDOWS自启动方式总结 简单的C#面试题 写卡程序 C#后台调用JS Request.ServerVariables获取环境变量 直接创建一个DataTable,并为之添加数据(自定义DataTable) 文本框回车自动提交FORM的解决方法 闲来无事,JS排序 sql 查询数据生成insert语句 学习.NET的经典网站 html实现树形结构(精简代码) c# 字母大小写转换 对于错误“不能确定应用到此机器的组策略安全性设置”的解决办法
查询系统所有存储过程,并以树形结构显示
小子好黑 · 2007-10-18 · via 博客园 - 小子好黑

HTML:

 1    <style type="text/css">
 2        body{font-size:9pt;}
 3        a{margin-top:1px;width:100px;float:left;clear:both;cursor:hand;border:1px solid gray;margin-left:5px;color:black;text-decoration:none;padding-left:3px;}
 4        b{margin-top:1px;width:100px;float:left;clear:both;cursor:pointer;border:1px solid gray;padding-left:3px;}
 5    
</style>
 6
 7<%=treeHtml %>
 8<script type="text/javascript">
 9    var B_tag=document.getElementsByTagName("B");
10    for(var i=0;i<B_tag.length;i++)
11    {
12        B_tag[i].onclick=function (){
13            change(event.srcElement);
14        }

15    }

16    
17    var A_tag=document.getElementsByTagName("A");
18    for(var i=0;i<A_tag.length;i++)
19    {
20        A_tag[i].href="";
21        A_tag[i].target="";    
22        A_tag[i].style.display="none"   ;
23    }

24    function change(obj)
25    {        
26        
27        var myObj=obj.nextSibling;        
28        while(myObj.tagName!="B" && myObj.tagName!="SCRIPT")
29        {       
30            if(myObj.tagName=="A")
31            {                  
32                myObj.style.display=(myObj.style.display=="none" || myObj.style.display=="")?"block":"none";
33            }

34            myObj=myObj.nextSibling;
35        }

36    }

37
</script>

C#:

        SqlConnection conn = new SqlConnection(@"server=192.168.1.102;uid=sa;pwd=123;database=test;");//

        
protected string treeHtml = string.Empty;

        
protected void Page_Load(object sender, EventArgs e)
        
{
            CreateDivTree();
        }


        
protected void CreateDivTree()
        
{
            List
<string> leftNames = new List<string>();

            
string sql = "select [name] from [sysObjects] where [xtype] = 'p' order by [name]";

            DataTable dt 
= SqlHelper.ExecuteDataset(conn,CommandType.Text,sql).Tables[0];

            
int rowCount = dt.Rows.Count;

            
if (rowCount > 0)
            
{
                
string leftName=string.Empty;

                
string name=string.Empty;

                
string nameUpper = string.Empty;

                
foreach (DataRow row in dt.Rows)
                
{
                    name 
= row["name"].ToString();

                    nameUpper 
= name.ToUpper();

                    
if (name.IndexOf("_"> 0)
                    
{
                        leftName 
= nameUpper.Substring(0, nameUpper.IndexOf("_"));
                    }

                    
else
                    
{
                        leftName 
= nameUpper.Substring(01);
                    }


                    
if (leftName == "DT" || leftName == "SP")
                    
{
                        
continue;
                    }


                    
if (!leftNames.Contains(leftName))
                    
{
                        leftNames.Add(leftName);
                        treeHtml 
+= string.Format("<B>{0}</B>", leftName);
                        treeHtml 
+= string.Format("<A>{0}</A>", name);
                    }

                    
else
                    
{
                        treeHtml 
+= string.Format("<A>{0}</A>", name);
                    }

                }

            }


        }

以前也做过类似的程序,但代码较多,加载速度较慢.

这次进行了优化,代码很少,速度很快.