易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.net treeview实现无限级树实现代码

最近研究了一下treeview,发现有两种实现无限级树的方法,文字不想多写,直入主题。
先看看效果图:
先看看数据库表的设计,数据表主要包括ID,Name,ParentID这三项,其中ID是主键,ParentID对应节点的父节点:
方法一:用递归遍历数据,并将节点逐个添加到treeview中去。
1.先进行数据库连接和数据的读取,并将根节点先添加进treeview中,并利用递归getTreeView()实现数据的遍历和添加:
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TreeNode nodeCategory ;
connection conn = new connection();
List<Category> category = conn.getCategory();
Stack<Category> storeCategory = new Stack<Category>();
storeCategory.Push(category[0]);
nodeCategory = new TreeNode(category[0].Name.Trim(), category[0].Id.Trim());
TreeView1.Nodes.Add(nodeCategory);
getTreeView(storeCategory, category, nodeCategory);
}
}
2.数据遍历的递归函数,比较简单就不多说了。
复制代码 代码如下:
public void getTreeView(Stack<Category> categoryStack,List<Category> categoryList,TreeNode e)
{
Category tmp;
if(categoryStack.Count>0)
{
tmp=categoryStack.Pop();
for(int i=0;i<categoryList.Count;i++)
if(categoryList[i].ParentId.Trim()==tmp.Id.Trim())
{
categoryStack.Push(categoryList[i]);
TreeNode childNote = new TreeNode(categoryList[i].Name.Trim(), categoryList[i].Id.Trim());
e.ChildNodes.Add(childNote);
getTreeView(categoryStack, categoryList, childNote);
}
}
}
方法二:用TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)事件响应来逐个读取子节点。
1.第一步基本和上一方法的第一步一致,只是要将节点的设置为不展开。
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TreeNode nodeCategory ;
connection conn = new connection();
List<Category> category = conn.getCategory();
nodeCategory = new TreeNode(category[0].Name.Trim(), category[0].Id.Trim());
nodeCategory.PopulateOnDemand = true;
nodeCategory.Collapse();


相关文档:

错误记录:ASP.NET(C#)中未能加载自定义类型(类)

环境:ASP.NET(C#),Visual Studio 2010。
提示:未能加载类型“EMS.App_Code.PersonalInfo”。如果该类型位于App_Code文件夹中,请检查它是否已编译。如果该类型位于已编译的程序集中,请检查该程序集是否被该项目引用。
处理:
自己做得一个小程序,取名EMS,并在App_Code文件夹下建立了类PersonalInfo、Sal ......

asp.net 转换人民币大小金额


using System;
using System.Collections.Generic;
using System.Text;
namespace Common
{
/// <summary>
/// 转换人民币大小金额。
/// </summary>
public class Rmb
{
/// <summary>
/// 转换人民币大小金额
/// </summary>
/// <param name="num">金额</ ......

asp.net 页面延时五秒,跳转到另外的页面

asp.net 页面延时五秒,跳转到另外的页面的实现代码。
--前台
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Successed.aspx.cs" Inherits="Biz_Order_Successed" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht ......

asp.net构建Web服务基础(含SOAP相关知识)

WSDL:是一个用来描述Web服务和说明如何与Web服务通信的XML语言。 怎样向别人介绍你的Web service有什么功能,以及每个函数调用时的参数等等。
 
web服务:进行web上数据交换的方法。能够以纯xml方式通信。
 
SOAP:简单对象存取协议。可看做xml方言; 以SOAP信封来传递和响应文本(包含:首部、主体)HTTP P ......

asp.net 截取字符串代码

asp.net字符串截取实现代码,需要的朋友可以参考下。
1,把代码放在sqlhelper中。
复制代码 代码如下:
#region 截取字符串
/// <summary>
/// 截取字符串
/// </summary>
/// <param name="str_value"></param>
/// <param name="str_len"></param>
/// <returns&g ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号