您现在的位置是:网站首页> 编程资料编程资料
Asp.Net实现无限分类生成表格的方法(后台自定义输出table)_实用技巧_
2023-05-24
373人已围观
简介 Asp.Net实现无限分类生成表格的方法(后台自定义输出table)_实用技巧_
本文实例讲述了Asp.Net实现无限分类生成表格的方法。分享给大家供大家参考,具体如下:
数据结构 monitor_group
monitor_grp_id monitor_grp_name parent_id level childCount orderby
[int,自动递增] [nvarchar,not null] [int,not null] [int,not null] [int,not null] [int ,null]
1 数据库服务器 0 1 2
2 应用服务器 0 1 2
3 系统服务器 0 1 0
4 WEB服务器 1 2 0
5 邮件服务器 1 2 0
6 代理服务器 2 2 0
7 Ftp服务器 2 2 0
\App_code\data.cs
using System; using System.Data; using MySql.Data.MySqlClient; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; //////common 的摘要说明 /// /// namespace yihan { namespace Data { public class myDataBind { public myDataBind() { // //TODO: 在此处添加构造函数逻辑 // } public static string GetTree_monitor_grp_id(DataTable dt, int parent_id, ref string returnString) { //绑定目录树 //dt:DataTable对象;parent_id:父ID;returnString:输出引用变量; DataRow[] dr = dt.Select("parent_id=" + parent_id); int currentLenght = 0; //当前次数 foreach (DataRow row in dr) { string nodeImg = ""; //节点图片 string treeLineImg = ""; //树线 currentLenght += 1; if (Convert.ToInt32(row["childCount"]) > 0) {nodeImg = "";} else {nodeImg = "
";} for (var i = 1; i <= Convert.ToInt32(row["level"]); i++) { //计算treeLineImg if (i == Convert.ToInt32(row["level"])) { if (currentLenght == dr.Length) //判断当前次数是否与本次dr总数量相等 { treeLineImg += "└ "; } else { treeLineImg += "├ "; } } else { treeLineImg += "│ "; } } returnString += "
\n"; returnString += " \n"; GetTree_monitor_grp_id(dt, Convert.ToInt32(row["monitor_grp_id"]), ref returnString); } return returnString; }//GetCatalogTree End }//myDataBind End } }" + treeLineImg + nodeImg + " " + row["monitor_grp_name"] + " \n"; returnString += "" + row["level"] + " \n"; returnString += "" + row["childCount"] + " \n"; returnString += ""; returnString += "添加子类 "; returnString += "修改 "; returnString += "删除 "; returnString += " \n"; returnString += "
class_list.aspx.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using yihan.Data; public partial class monitor_monitor_group_class_list : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = new DataTable(); string resultString = ""; string sql = "select * from monitor_group order by orderby desc,monitor_grp_id"; DbConn conn = new DbConn(); dt = conn.DataTable(sql); Literal1.Text = myDataBind.GetTree_monitor_grp_id(dt, 0, ref resultString); //调用 dt.Dispose(); conn.Close(); } } } class_list.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="class_list.aspx.cs" Inherits="monitor_monitor_group_class_list" %>
手写Table
string s="
| "; s+=变量值; s+=" |
至于循环及其其他的方法自己构造
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。
相关内容
- ASP.NET 中 Button、LinkButton和ImageButton 三种控件的使用详解_基础应用_
- asp.net实现DataList与Repeater嵌套绑定的方法_实用技巧_
- ASP.NET中ImageButton图片按钮控件的使用_基础应用_
- Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果(附demo源码下载)_实用技巧_
- ASP.NET中Image控件使用详解_基础应用_
- asp.net+Ligerui实现grid导出Excel和Word的方法_实用技巧_
- ASP.NET中HyperLink超链接控件的使用方法_基础应用_
- asp.net实现拒绝频繁的IP访问的方法_实用技巧_
- ASP.NET中HiddenField隐藏域控件的使用方法_基础应用_
- ASP.NET中FileUpload文件上传控件应用实例_基础应用_
";} else {nodeImg = "
";} for (var i = 1; i <= Convert.ToInt32(row["level"]); i++) { //计算treeLineImg if (i == Convert.ToInt32(row["level"])) { if (currentLenght == dr.Length) //判断当前次数是否与本次dr总数量相等 { treeLineImg += "└ "; } else { treeLineImg += "├ "; } } else { treeLineImg += "│ "; } } returnString += "
