ASPNET 进阶TreeView控件学习.docx

上传人:b****7 文档编号:26670441 上传时间:2023-06-21 格式:DOCX 页数:16 大小:27.05KB
下载 相关 举报
ASPNET 进阶TreeView控件学习.docx_第1页
第1页 / 共16页
ASPNET 进阶TreeView控件学习.docx_第2页
第2页 / 共16页
ASPNET 进阶TreeView控件学习.docx_第3页
第3页 / 共16页
ASPNET 进阶TreeView控件学习.docx_第4页
第4页 / 共16页
ASPNET 进阶TreeView控件学习.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

ASPNET 进阶TreeView控件学习.docx

《ASPNET 进阶TreeView控件学习.docx》由会员分享,可在线阅读,更多相关《ASPNET 进阶TreeView控件学习.docx(16页珍藏版)》请在冰豆网上搜索。

ASPNET 进阶TreeView控件学习.docx

ASPNET进阶TreeView控件学习

【ASP.NET进阶】TreeView控件学习

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Web;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.Security;

usingSystem.Data;

usingYc_TestS.BaseClass;

namespaceYc_TestS

{

publicpartialclassTreeViewTest:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

/**

*TreeNodeBinding类在TreeView控件中定义数据项与该数据项绑定到的节点之间的关系。

*该类的DataMember属性指定在节点显示的数据源对应XML的节点。

*ValueField属性对应TreeNode对象的Value属性。

*TreeNodeBinding类的Text属性指定向用户显示的文本,如果该属性没有指定,则默认与ValueField属性相同。

**/

this.treeT.ShowLines=false;//显示连接子节点和父节点之间的线条

TreeNodeBindingArea=newTreeNodeBinding();

Area.DataMember="Area";//指定绑定的成员

Area.ValueField="cAreaName";//取值的字段

this.treeT.DataBindings.Add(Area);

TreeNodeBindingProvince=newTreeNodeBinding();

Province.DataMember="Province";//添加与"省份"绑定

Province.ValueField="cAreaName";

this.treeT.DataBindings.Add(Province);

TreeNodeBindingCity=newTreeNodeBinding();

City.DataMember="City";//添加与"城市"绑定

City.ValueField="cAreaName";

this.treeT.DataBindings.Add(City);

}

}

}

 

4.后台数据库数据填充方式

a.数据库数据

b.前台页面

<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="TreeViewTest.aspx.cs"Inherits="Yc_TestS.TreeViewTest"%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"":

//.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//.w3.org/1999/xhtml">

TreeView

functionshow(msg){

alert(msg);

}

TreeViewID="treeT"runat="server">

TreeView>

c.后台代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Web;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.Security;

usingSystem.Data;

usingYc_TestS.BaseClass;

namespaceYc_TestS

{

publicpartialclassTreeViewTest:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

AddTree(0,null);

}

privatevoidAddTree(intPid,TreeNodePNode)

{

stringsqlStr="SELECTItem_id,Item_name,Parent_IDFROMPara_item";

DataTabledt=YSqlHelper.ExecuteQuery(sqlStr,CommandType.Text);

if(dt.Rows.Count>0)

{

DataViewdv=newDataView(dt);

//过滤ParentID,得到当前的所有子节点ParentID为父节点ID

dv.RowFilter="[Parent_ID]="+Pid;

//循环递归

foreach(DataRowViewRowindv)

{

//声明节点

TreeNodeNode=newTreeNode();

//绑定超级链接

Node.NavigateUrl=String.Format("javascript:

show('{0}')",Row["Item_Name"].ToString());

//开始递归

if(PNode==null)

{

//添加根节点

Node.Text=Row["Item_Name"].ToString();

treeT.Nodes.Add(Node);

Node.Expanded=true;//节点状态展开

AddTree(Int32.Parse(Row["Item_ID"].ToString()),Node);//再次递归

}

else

{

//添加当前节点的子节点

Node.Text=Row["Item_Name"].ToString();

PNode.ChildNodes.Add(Node);

Node.Expanded=true;//节点状态展开

AddTree(Int32.Parse(Row["Item_ID"].ToString()),Node);//再次递归

}

}

}

}

}

}

 

d.配置文件

xmlversion="1.0"?

>

--

有关如何配置ASP.NET应用程序的详细消息,请访问

:

//

-->

 

e.两个助手类 

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Web;

usingSystem.IO;

usingSystem.Security.Cryptography;

usingSystem.Text;

namespaceYc_TestS.BaseClass

{

publicclassEntryCode

{

///

加密

publicstaticstringEncodeCode(stringstr)

{

stringkey="david.yc";

DESCryptoServiceProviderprovider=newDESCryptoServiceProvider();

provider.Key=Encoding.ASCII.GetBytes(key.Substring(0,8));

provider.IV=Encoding.ASCII.GetBytes(key.Substring(0,8));

byte[]bytes=Encoding.GetEncoding("GB2312").GetBytes(str);

MemoryStreamstream=newMemoryStream();

CryptoStreamstream2=newCryptoStream(stream,provider.CreateEncryptor(),CryptoStreamMode.Write);

stream2.Write(bytes,0,bytes.Length);

stream2.FlushFinalBlock();

StringBuilderbuilder=newStringBuilder();

foreach(bytenuminstream.ToArray())

{

builder.AppendFormat("{0:

X2}",num);

}

stream.Close();

returnbuilder.ToString().Trim();

}

///

Des解密GB2312

publicstaticstringDecodeCode(stringstr)

{

stringkey="david.yc";

DESCryptoServiceProviderprovider=newDESCryptoServiceProvider();

provider.Key=Encoding.ASCII.GetBytes(key.Substring(0,8));

provider.IV=Encoding.ASCII.GetBytes(key.Substring(0,8));

byte[]buffer=newbyte[str.Length/2];

for(inti=0;i<(str.Length/2);i++)

{

intnum2=Convert.ToInt32(str.Substring(i*2,2),0x10);

buffer[i]=(byte)num2;

}

MemoryStreamstream=newMemoryStream();

CryptoStreamstream2=newCryptoStream(stream,provider.CreateDecryptor(),CryptoStreamMode.Write);

stream2.Write(buffer,0,buffer.Length);

stream2.FlushFinalBlock();

stream.Close();

returnEncoding.GetEncoding("GB2312").GetString(stream.ToArray()).Trim();

}

}

}

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Web;

usingSystem.Data;

usingSystem.Data.SqlClient;

usingSystem.Configuration;

namespaceYc_TestS.BaseClass

{

publicclassYSqlHelper

{

privatestaticstringconnectionString=EntryCode.DecodeCode(ConfigurationManager.AppSettings["sqlStr"]);//获取解密后的数据库连接字符串

///

执行不带参数的增删改SQL语句或存储过程

///增删改SQL语句或存储过程

///命令类型

///受影响的行数

publicstaticintExecuteNonQuery(stringcmdText,CommandTypect)

{

intres=0;

using(SqlConnectionconn=newSqlConnection(connectionString))

{

try

{

conn.Open();

using(SqlCommandcmd=newSqlCommand(cmdText,conn))

{

cmd.CommandType=ct;

res=cmd.ExecuteNonQuery();

}

}

catch

{

}

finally

{

if(conn.State==ConnectionState.Open)

{

conn.Close();

}

}

}

returnres;

}

///

执行带参数的增删改SQL语句或存储过程

///增删改SQL语句或存储过程

///命令类型

///受影响的行数

publicstaticintExecuteNonQuery(stringcmdText,SqlParameter[]paras,CommandTypect)

{

intres=0;

using(SqlConnectionconn=newSqlConnection(connectionString))

{

try

{

conn.Open();

using(SqlCommandcmd=newSqlCommand(cmdText,conn))

{

cmd.CommandType=ct;

cmd.Parameters.AddRange(paras);

res=cmd.ExecuteNonQuery();

}

}

catch

{

}

finally

{

if(conn.State==ConnectionState.Open)

{

conn.Close();

}

}

}

returnres;

}

///

执行带参数的查询SQL语句或存储过程

///查询SQL语句或存储过程ì

///参数集合?

///命令类型

///DataTable对象

publicstaticDataTableExecuteQuery(stringcmdText,CommandTypect)

{

DataTabledt=newDataTable();

using(SqlConnectionconn=newSqlConnection(connectionString))

{

try

{

conn.Open();

using(SqlCommandcmd=newSqlCommand(cmdText,conn))

{

cmd.CommandType=ct;

using(SqlDataReadersdr=cmd.ExecuteReader(CommandBehavior.CloseConnection))

{

dt.Load(sdr);

}

}

}

catch

{

}

finally

{

if(conn.State==ConnectionState.Open)

{

conn.Close();

}

}

}

returndt;

}

///

执行带参数的查询SQL语句或存储过程

///查询SQL语句或存储过程ì

///参数集合?

///命令类型

///DataTable对象

publicstaticDataTableExecuteQuery(stringcmdText,SqlParameter[]paras,CommandTypect)

{

DataTabledt=newDataTable();

using(SqlConnectionconn=newSqlConnection(connectionString))

{

try

{

conn.Open();

using(SqlCommandcmd=newSqlCommand(cmdText,conn))

{

cmd.CommandType=ct;

cmd.Parameters.AddRange(paras);

using(SqlDataReadersdr=cmd.ExecuteReader(CommandBehavior.CloseConnection))

{

dt.Load(sdr);

}

}

}

catch

{

}

finally

{

if(conn.State==ConnectionState.Open)

{

conn.Close();

}

}

}

returndt;

}

}

}

 

 5.一些方法记录

a.控制父结点的开/合状态

TreeView_Tree.GetNodeFromIndex("1").Expanded=false/true;

 

b.清除某个父结点下的所有子节点

TreeView_IndexLeft.GetNodeFromIndex("1").Nodes.Clear();

 

c.设置所选节点,如选中第二个节点 

functionSetSelNode() {  TreeView_Tree.selectedNodeIndex="1"; } 

 

d.得到所选节点的Text,ID或NodeData 

functionGetAttribute() {  alert(TreeView_Tree.getTreeNode(TreeView_Tree.selectedNodeIndex).getAttribute("Text")); } 

//替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData 

 

e.修改节点属性,如修改第一个节点的Text 

functionModifyNode() {  varnode=TreeView_Tree.getTreeNode("0");  node.setAttribute("Text","第一个节点"); } 

 

f.添加节点 

functionAddNode() {  varnode=TreeView_Tree.createTreeNode();  node.setAttribute("Text","第一个节点");  TreeView_Tree.add(node);     } 

 

g.TreeView中的SelectedIndexChange不执行

AutoPostBack=true,SelectedIndexChange才能被执行。

 

 

h.判断TreeView的一个节点下是否有子节点 

if(SelectNode.Nodes.Count==0){  //该节点没有字节点 } 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1