Asp.net源码专业站
首页->尚未分类->ExtenTree无限级树源码>>DefaultTree.aspx.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:ExtenTree无限级树源码
当前文件:文件类型 ExtenTree/DefaultTree.aspx.cs[22K,2009-6-12 11:42:10]打开代码结构图
普通视图
		            
1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5using System.Web; 6using System.Web.Security; 7using System.Web.UI; 8using System.Web.UI.WebControls; 9using System.Web.UI.WebControls.WebParts; 10using System.Web.UI.HtmlControls; 11using System.Data.SqlClient; 12using System.Threading; 13 14//该源码首发自www.51aspx.com(51aspx.com) 15public partial class DefaultTree : System.Web.UI.Page 16{ 17 18 19 SqlDataAdapter da = null; 20 SqlConnection con = new SqlConnection("server=(local);database=GHRQ;uid=sa;pwd=sa"); 21 ArrayList dep = new ArrayList(); 22 DataSet TreeTable = new DataSet(); 23 24 25 int j = 0; 26 int count = 0; 27 int depth = 0; 28 29 30 string none = "none"; //------------none 默认树全部认合上 blcok 全部展开 31 string plus = "plus.gif"; 32 bool checkBox = true; 33 //------------无checkbox 就为false 有的话就为true 34 35 36 protected void Page_Load(object sender, EventArgs e) 37 { 38 39 //none = "blcok"; 40 //plus = "minus.gif"; 41 42 //checkBox = false; 43 GetTreeInformation("admin"); 44 45 } 46 47 //判断父亲接点是否还有兄弟 48 49 public bool JudgeBrother(string current, int i) 50 { 51 string nextnode; 52 bool flag =true; 53 while (true) 54 { 55 i++; 56 if (i == count - 1) 57 { 58 break; 59 } 60 nextnode = TreeTable.Tables[0].Rows[i]["ID"].ToString().Trim(); 61 if (nextnode.Length > current.Length) //比他长可能是叶子,在下一级 62 { 63 continue; 64 } 65 else if (nextnode.Length < current.Length) 66 { 67 break; 68 } 69 else //有兄弟 70 { 71 flag = false; 72 break; 73 } 74 75 } 76 return flag; 77 78 } 79 80 //有兄弟是false; 81 82 public void GetTreeInformation(string username) 83 { 84 int i = 1; 85 da = new SqlDataAdapter("select * from MenuFunc123 order by ID", con); 86 da.Fill(TreeTable); 87 this.count = TreeTable.Tables[0].Rows.Count; 88 89 Response.Write( "<div class='stylediv'>"); 90 Response.Write( "<img id=nolines0 src='minus_nolines.gif' width='18px' height='18px' onClick=ClickMenu('maindiv','nolines','0') align='absmiddle' />"); 91 if (checkBox) 92 { 93 Response.Write("<input id='Checkbox0' onClick=SelectBox('maindiv',this) type='checkbox' />"); 94 } 95 Response.Write( "<img id=open0 src='open.gif' width='16px' height='16px' align='absmiddle' />"); 96 Response.Write( "<a onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)'><span class='stylespan' id='span_0' >&nbsp;港华燃气</span></a></div>"); 97 Response.Write("<div id='maindiv' belongCheckbox='Checkbox0' >"); //belongCheckbox='Checkbox0' 属于这个div 的checkbox 98 99 Response.Write( "<div class='stylediv'>"); 100 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 101 for (int mm = depth; mm >0; mm--) //计算横向深度 添加竖线 102 { 103 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 104 } 105 Response.Write("<img id=plus" + i.ToString() + " src='" + plus + "' width='18px' height='18px' onClick=ClickMenu('div_" + i.ToString() + "','plus','" + i.ToString() + "') align='absmiddle' />"); 106 if (checkBox) 107 { 108 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 109 //---------checkbox 上嵌套两个div ,最上方的div 保存了 checkbox 的 id 就是(belongCheckbox) 110 } 111 Response.Write( "<img id=open" + i.ToString() + " src='open.gif' width='16px' height='16px' align='absmiddle' />"); 112 Response.Write("<a onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + TreeTable.Tables[0].Rows[i]["FuncName"].ToString() + "</SPAN></a></div>"); 113 Response.Write("<div id='div_" + i.ToString() + "' belongCheckbox='Checkbox" + i.ToString() + "' style='display: " + none + "'>"); 114 this.depth++; //-----------------------------------第一级------------------------------ 115 116 dep.Add(false); 117 118 CreatTrees(TreeTable.Tables[0].Rows[1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[2]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[2]["FuncName"].ToString().Trim(), 2,false); 119 Response.Write( "</div>"); 120 Response.Write( "</div>"); 121 } 122 123 //flag=true 表示无兄弟 124 void CreatTrees(string por, string current, string currentname, int i,bool flag) //i的位置跟current 一样 125 { 126 if (i == count - 1) //说名是最后一个 127 { 128 Response.Write( "<div class='stylediv'>"); 129 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 130 for (int mm = depth; mm > 0; mm--) 131 { 132 if (flag && mm == 1 && depth < 2) 133 { 134 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 135 break; 136 } 137 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 138 } 139 Response.Write( "<img src='joinbottom.gif' width='18px' height='18px' align='absmiddle' />"); 140 if (checkBox) 141 { 142 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 143 144 } 145 Response.Write( "<img src='folder.gif' width='16px' height='16px' align='absmiddle' />"); 146 Response.Write("<a target=\"mainFrame\" onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)' href='JumpPage.htm?page=" + TreeTable.Tables[0].Rows[i]["FuncUrl"].ToString().Trim() + "'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + currentname + "</span></a></div>"); 147 } 148 else 149 { 150 string nextnode = TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(); 151 if (current.Length > por.Length) //比他长可能是叶子,在下一级 152 { 153 154 if (current.Length < nextnode.Length) //说名他也是一个父亲接点 155 { 156 157 Response.Write( "<div class='stylediv'>"); 158 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 159 flag=JudgeBrother(current, i); 160 161 for (int mm = depth; mm > 0; mm--) 162 { 163 if (flag&&mm==1&&depth<2) 164 { 165 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 166 break; 167 } 168 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 169 } 170 Response.Write("<img id=plus" + i.ToString() + " src='" + plus + "' width='18px' height='18px' onClick=ClickMenu('div_" + i.ToString() + "','plus','" + i.ToString() + "') align='absmiddle' />"); 171 if (checkBox) 172 { 173 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 174 175 } 176 Response.Write( "<img id=open" + i.ToString() + " src='open.gif' width='16px' height='16px' align='absmiddle' />"); 177 Response.Write("<a onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + TreeTable.Tables[0].Rows[i]["FuncName"].ToString().Trim() + "</SPAN></a></div>"); 178 Response.Write("<div id='div_" + i.ToString() + "' belongCheckbox='Checkbox" + i.ToString() + "' style='display: " + none + "'>"); 179 180 this.depth++; 181 dep.Add(flag); 182 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1,flag); 183 184 } 185 else if (current.Length == nextnode.Length)//--------------------他就是叶子------------ 186 { 187 188 Response.Write( "<div class='stylediv'>"); 189 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 190 191 int nn = 0; 192 for (int mm = depth; mm > 0; mm--) 193 { 194 195 if (flag && mm == 1) 196 { 197 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 198 break; 199 } 200 if (dep[nn].ToString() == "False") 201 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 202 if (dep[nn++].ToString() == "True") 203 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 204 } 205 Response.Write( "<img src='join.gif' width='18px' height='18px' align='absmiddle' />"); 206 if (checkBox) 207 { 208 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 209 210 } 211 Response.Write( "<img src='folder.gif' width='16px' height='16px' align='absmiddle' />"); 212 Response.Write("<a target=\"mainFrame\" onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)' href='JumpPage.htm?page=" + TreeTable.Tables[0].Rows[i]["FuncUrl"].ToString().Trim() + "'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + currentname + "</span></a></div>"); 213 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1, flag); 214 } 215 else //长度比下一个大,下一个在上级,又是叶子。 216 { 217 218 Response.Write( "<div class='stylediv'>"); 219 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 220 221 for (int mm = depth; mm > 0; mm--) 222 { 223 if (flag && mm == 1) 224 { 225 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 226 break; 227 } 228 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 229 } 230 Response.Write( "<img src='joinbottom.gif' width='18px' height='18px' align='absmiddle' />"); 231 if (checkBox) 232 { 233 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 234 235 } 236 Response.Write( "<img src='folder.gif' width='16px' height='16px' align='absmiddle' />"); 237 Response.Write("<a target=\"mainFrame\" onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)' href='JumpPage.htm?page=" + TreeTable.Tables[0].Rows[i]["FuncUrl"].ToString().Trim() + "'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + currentname + "</span></a></div>"); 238 239 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1, flag); 240 241 } 242 243 } 244 else if (current.Length < por.Length)//比他短,他出在上一及 245 { 246 247 248 int j = (por.Length) / 2 - (current.Length) / 2; 249 while (j > 0) 250 { 251 Response.Write( "</div>"); 252 this.depth--; 253 this.dep.RemoveAt(this.depth); 254 j--; 255 256 } 257 if (current.Length < nextnode.Length) //说名他也是一个父亲接点 258 { 259 260 261 Response.Write( "<div class='stylediv'>"); 262 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 263 flag = JudgeBrother(current, i); 264 for (int mm = depth; mm > 0; mm--) 265 { 266 if (flag && mm == 1 && depth < 2) 267 { 268 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 269 break; 270 } 271 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 272 } 273 Response.Write("<img id=plus" + i.ToString() + " src='" + plus + "' width='18px' height='18px' onClick=ClickMenu('div_" + i.ToString() + "','plus','" + i.ToString() + "') align='absmiddle' />"); 274 if (checkBox) 275 { 276 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 277 } 278 Response.Write( "<img id=open" + i.ToString() + " src='open.gif'width='16px' height='16px' align='absmiddle' />"); 279 Response.Write("<a onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + TreeTable.Tables[0].Rows[i]["FuncName"].ToString().Trim() + "</SPAN></a></div>"); 280 Response.Write("<div id='div_" + i.ToString() + "' belongCheckbox='Checkbox" + i.ToString() + "' style='display: " + none + "'>"); 281 282 this.depth++; 283 dep.Add(flag); 284 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1, flag); 285 286 287 } 288 else if (current.Length == nextnode.Length)//他就是叶子 289 { 290 291 292 Response.Write( "<div class='stylediv'>"); 293 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 294 295 for (int mm = depth; mm > 0; mm--) 296 { 297 298 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 299 } 300 Response.Write( "<img src='join.gif' width='18px' height='18px' align='absmiddle' />"); 301 if (checkBox) 302 { 303 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 304 305 } 306 Response.Write( "<img src='folder.gif' width='16px' height='16px' align='absmiddle' />"); 307 Response.Write("<a target=\"mainFrame\" onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)' href='JumpPage.htm?page=" + TreeTable.Tables[0].Rows[i]["FuncUrl"].ToString().Trim() + "'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + currentname + "</span></a></div>"); 308 309 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1, flag); 310 } 311 else //长度比下一个大,下一个在上级 312 { 313 314 315 Response.Write( "<div class='stylediv'>"); 316 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 317 int nn = 0; 318 for (int mm = depth; mm > 0; mm--) 319 { 320 321 if (dep[nn].ToString() == "False") 322 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 323 if (dep[nn++].ToString() == "True") 324 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 325 } 326 Response.Write( "<img src='joinbottom.gif' width='18px' height='18px' align='absmiddle' />"); 327 if (checkBox) 328 { 329 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 330 331 } 332 Response.Write( "<img src='folder.gif' width='16px' height='16px' align='absmiddle' />"); 333 Response.Write("<a target=\"mainFrame\" onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)' href='JumpPage.htm?page=" + TreeTable.Tables[0].Rows[i]["FuncUrl"].ToString().Trim() + "'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + currentname + "</span></a></div>"); 334 335 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1, flag); 336 337 } 338 339 340 } 341 else if (current.Length == por.Length) //处在同一及 342 { 343 if (current.Length < nextnode.Length) //--------父亲------------------ 344 { 345 346 Response.Write( "<div class='stylediv'>"); 347 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 348 flag = JudgeBrother(current, i); 349 int nn=0; 350 for (int mm = depth; mm > 0; mm--) 351 { 352 353 if (dep[nn].ToString()=="False") 354 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 355 if (dep[nn++].ToString()=="True") 356 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 357 } 358 Response.Write("<img id=plus" + i.ToString() + " src='" + plus + "' width='18px' height='18px' onClick=ClickMenu('div_" + i.ToString() + "','plus','" + i.ToString() + "') align='absmiddle' />"); 359 if (checkBox) 360 { 361 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 362 } 363 Response.Write( "<img id=open" + i.ToString() + " src='open.gif' width='16px' height='16px' align='absmiddle' />"); 364 Response.Write( "<a onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + TreeTable.Tables[0].Rows[i]["FuncName"].ToString().Trim() + "</SPAN></a></div>"); 365 Response.Write( "<div id='div_" + i.ToString() + "' belongCheckbox='Checkbox" + i.ToString() + "' style='display: " + none + "'>"); 366 367 this.depth++; 368 dep.Add(flag); 369 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1, flag); 370 371 } 372 else if (current.Length >= nextnode.Length) //叶子 373 { 374 375 376 Response.Write( "<div class='stylediv'>"); 377 Response.Write( "<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 378 379 if (current.Length == nextnode.Length)//说明是下一个是父亲 380 flag=JudgeBrother(current, i); 381 int nn = 0; 382 for (int mm = depth; mm > 0; mm--) 383 { 384 if (flag && mm == 1) 385 { 386 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 387 break; 388 } 389 if (dep[nn].ToString() == "False") 390 Response.Write("<img src='line.gif' width='18px' height='18px' align='absmiddle' />"); 391 if (dep[nn++].ToString() == "True") 392 Response.Write("<img src='empty.gif' width='18px' height='18px' align='absmiddle' />"); 393 } 394 if (current.Length == nextnode.Length) 395 Response.Write( "<img src='join.gif' width='18px' height='18px' align='absmiddle' />"); 396 else 397 Response.Write( "<img src='joinbottom.gif' width='18px' height='18px' align='absmiddle' />"); 398 if (checkBox) 399 { 400 Response.Write("<input id='Checkbox" + i.ToString() + "' onClick=SelectBox('div_" + i.ToString() + "',this) type='checkbox' />"); 401 402 } 403 Response.Write( "<img src='folder.gif' width='16px' height='16px' align='absmiddle' />"); 404 Response.Write("<a target=\"mainFrame\" onmousemove='ChangeColora(this)' onmouseleave='ChangeColorb(this)' href='JumpPage.htm?page=" + TreeTable.Tables[0].Rows[i]["FuncUrl"].ToString().Trim() + "'>" + "<span class='stylespan' id='span_" + i.ToString() + "'>&nbsp;" + currentname + "</span></a></div>"); 405 CreatTrees(current, TreeTable.Tables[0].Rows[i + 1]["ID"].ToString().Trim(), TreeTable.Tables[0].Rows[i + 1]["FuncName"].ToString().Trim(), i + 1,flag); 406 } 407 408 409 } 410 411 } 412 413 } 414 415} 416
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:ExtenTree无限级树源码
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146