Asp.Net 무한 분류 로 표를 만 드 는 방법(배경 사용자 정의 출력 table)
데이터 구조 모니터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("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 = "<img src='images/treeExpand.gif' align='absmiddle'>";}
else
{nodeImg = "<img src='images/treeNode.gif' align='absmiddle'>";}
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 += "<tr>
";
returnString += "<td align='left'>" + treeLineImg + nodeImg + " " + row["monitor_grp_name"] + "</td>
";
returnString += "<td align='center'>" + row["level"] + "</td>
";
returnString += "<td align='center'>" + row["childCount"] + "</td>
";
returnString += "<td align='center'>";
returnString += "<a href='class_add.aspx?monitor_grp_id=" + row["monitor_grp_id"] + "'> </a> ";
returnString += "<a href='class_modi.aspx?monitor_grp_id=" + row["monitor_grp_id"] + "'> </a> ";
returnString += "<a href='class_del.aspx?monitor_grp_id=" + row["monitor_grp_id"] + "' onclick=\"javascript:{if(!confirm(' ?'))return false;}\"> </a> ";
returnString += "</td>
";
returnString += "</tr>
";
GetTree_monitor_grp_id(dt, Convert.ToInt32(row["monitor_grp_id"]), ref returnString);
}
return returnString;
}//GetCatalogTree End
}//myDataBind End
}
}
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" %>
<body>
<form id="form1" runat="server">
<table class="conBox" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#66AADD">
<tr align="center" bgcolor="#999999">
<th width="36%" bgcolor="#BAD8EF"> </th>
<th width="9%" bgcolor="#BAD8EF"> </th>
<th width="15%" bgcolor="#BAD8EF"> </th>
<th width="29%" bgcolor="#BAD8EF"> </th>
</tr>
<tr>
<td colspan="5" style="padding-left:6px;background:#DBDBDB;"> </td>
</tr>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</table>
</form>
</body>
필기 테이블
string s="<table>"
s+="<tr><td>";
s+= ;
s+="</td></tr></table>";
ResPonse.Write(s);
순환 및 기타 방법 자체 구조더 많은 asp.net 관련 내용 에 관심 이 있 는 독 자 는 본 사이트 의 주 제 를 볼 수 있 습 니 다.,과 을 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 asp.net 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
easyui 내 보 내기 excel 다운로드 상 자 를 꺼 낼 수 없 는 해결 방법이전에 ajax 로 만 든 코드 는 다음 과 같 습 니 다 (ActionUrl 은 일반 처리 프로그램 ashx 의 경로 입 니 다). 다운로드 상 자 를 팝 업 할 수 없습니다. 직접 브 라 우 저 주소 표시 줄 에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.