本文实例讲述了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; /// <summary> ///common 的摘要说明 /// </summary> ///
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(\
int currentLenght = 0; //当前次数 foreach (DataRow row in dr) {
string nodeImg = \节点图片 string treeLineImg = \树线 currentLenght += 1;
if (Convert.ToInt32(row[\
{nodeImg = \src='images/treeExpand.gif' align='absmiddle'>\
else
{nodeImg = \src='images/treeNode.gif' align='absmiddle'>\
for (var i = 1; i <= Convert.ToInt32(row[\i++)
{
//计算treeLineImg
if (i == Convert.ToInt32(row[\ {
if (currentLenght == dr.Length) //判断当前次数是否与本次dr总数量相等
{ treeLineImg += \└ \ else
{ treeLineImg += \├ \ } else {
treeLineImg += \│ \ } }
returnString += \
returnString += \align='left'>\+ treeLineImg + nodeImg + \
returnString += \align='center'>\+ row[\
returnString += \align='center'>\+ row[\
returnString += \ returnString += \href='class_add.aspx?monitor_grp_id=\+ row[\+ \添加子类</a> \ returnString += \href='class_modi.aspx?monitor_grp_id=\+ row[\+ \修改</a> \ returnString += \