多级树行控件加载
来源:互联网 发布:在线手机小号软件 编辑:程序博客网 时间:2024/04/30 01:59
多级树行控件加载
1、首先下载microsoft 微软公司的iewebcontrols.msi树形控件,安装后,在visual studio .net
中的工具箱里“添加/移除项”中的“.NET Framework组件”选取添加“treeview控件”.
2、在项目引用中引用"Microsoft.Web.UI.WebControls"控件。
3、使用树形控件HTML相关语言
Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226" %>
<iewc:treeview id="TreeView1" runat="server" ImageUrl="close.gif" ExpandedImageUrl="open.gif" EnableClientScript="false"></iewc:treeview>
<tr><td><asp:label id="lbltypename" runat="server" Text="名称:"></asp:label></td>
<td><asp:textbox id="tbName" runat="server"></asp:textbox></td>
</tr>
<tr><td><asp:button id="btnAdd" runat="server" Text="添加"></asp:button>
<asp:button id="btnUpdate" runat="server" Text="修改"></asp:button>
<asp:button id="btnDelete" runat="server" Width="48px" Text="删除"></asp:button>
</td>
</tr>
<asp:label id="lbID" runat="server" Visible="False"></asp:label> 为了记录父项的ID
4、.cs代码
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!this.IsPostBack)
{
//初始化连接字符串
this.lbID.Text="1";
conn.Open();
SqlDataAdapter adp = new SqlDataAdapter("select * from tbTree order by ID",conn);
DataSet ds=new DataSet();
adp.Fill(ds);
this.ViewState["ds"]=ds;
//调用递归函数,完成树形结构的生成
AddTree(1, (TreeNode)null);
}
}
//递归添加树的节点
public void AddTree(int ParentID,TreeNode pNode)
{
DataSet ds=(DataSet) this.ViewState["ds"];
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENTID] = " + ParentID;
foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点
Node.Text = Row["ConText"].ToString();
Node.ID= Row["ID"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded=false;
AddTree(Int32.Parse(Row["ID"].ToString()), Node); //再次递归
}
else
{ //?添加当前节点的子节点
Node.Text = Row["ConText"].ToString();
Node.ID= Row["ID"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = false;
AddTree(Int32.Parse(Row["ID"].ToString()),Node); //再次递归
}
}
}
//选取节点的值
private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
this.tbName.Text =this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex).Text;
this.lbID.Text=this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex).ID;
}
//更新
private void btnUpdate_Click(object sender, System.EventArgs e)
{
string sql = "update tbTree set Context='"+this.tbName.Text+"' where ID='"+this.lbID.Text.Replace("'", "''").Trim()+"'";
SqlCommand mycommand = new SqlCommand(sql,conn);
conn.Open();
mycommand.ExecuteNonQuery();
conn.Close();
//调用递归函数,完成树形结构的生成
this.Response.Redirect("TreeRole.aspx");
this.tbName.Text="";
}
//删除相关节点信息
private void btnDelete_Click(object sender, System.EventArgs e)
{
string stringdelete="delete from tbTree where ID='"+this.lbID.Text.Replace("'", "''").Trim()+"'";
SqlCommand inst=new SqlCommand(stringdelete,conn);
conn.Open();
inst.ExecuteNonQuery();
conn.Close();
this.Response.Write(" <script language=javascript>alert('删除成功!');</script>");
//调用递归函数,完成树形结构的生成
this.Response.Redirect("TreeRole.aspx");
this.tbName.Text="";
}
//新增节点信息
private void btnAdd_Click(object sender, System.EventArgs e)
{
string sql="insert into tbTree(Context,ParentID) values('"+this.tbName.Text.Replace("'", "''").Trim() + "','"+this.lbID.Text.Replace("'", "''").Trim()+"')";
SqlCommand myCmd=new SqlCommand(sql,conn);
conn.Open();
myCmd.ExecuteNonQuery();
conn.Close();
//调用递归函数,完成树形结构的生成
this.Response.Redirect("TreeRole.aspx");
this.tbName.Text="";
}
5、数据表tbtree ID(int自动标识),Context(Nvarchar),ParentID(int)
其中子项的ParentID是父项的ID,这样循环加载多级时比较清晰。
- 多级树行控件加载
- 多级分布加载树节点
- 加载多级部门代码
- iOS 多级菜单控件
- 多级树
- 同时加载多级关联实体
- struts动态加载多级菜单
- ImageLoader多级列表图片加载
- Repeater控件嵌套--多级目录
- 实现多级隐藏/显示控件
- aspx repeate控件多级关联
- 实现一次加载多级所有的菜单
- 多级选择菜单——数据加载
- Bitmap_多级缓存实现图片加载
- 网友做的android无级树(多级树)控件工程(含源代码)
- Dev控件 TreeList的使用,绑定多级树以及多选框的三种状态
- Android 实现自定义多级树控件和全选与反选的效果
- Dev控件 TreeList的使用,绑定多级树以及多选框的三种状态
- sdfsdf
- 关于工作空间, ShapeFile工作空间,图元工作空间,图元类
- 动手给自己的Blog做了个整容手术,决定在CSDN上安家了
- history of Ming dynasty
- 玩玩Spring之struts+hibernate+spring添删改查示例
- 多级树行控件加载
- 一个验证身份证号码的javascript函数
- 使用AJAX异步获取数据
- eclipse中如何写一个测试私有方法的junit?
- PHP安全(一)
- 应用XMLHTTP的SVG小例子
- 3D开端 RayCasting
- snmp协议
- 虚拟路径映射到另一个应用程序,这是不允许的。