asp.net 动态添加 treeview 递归
2013-11-11 14:22
393 查看
http://blog.csdn.net/wangyonghua_net/article/details/7693088
eg1:
/// <summary>
/// 绑定大树
/// </summary>
public void BindTvClass()
{
this.tvClass.Nodes.Clear();
TreeNode node = new TreeNode();
node.Text = "栏目";
node.Value = "0";
AddChild(node);
this.tvClass.Nodes.Add(node);
}
/// <summary>
/// tvClass绑定数据
/// </summary>
/// <param name="parentNode"></param>
public void AddChild(TreeNode parentNode)
{
IList<PubClassInfo> classes = transcate.GetClassChild(parentNode.Value);
foreach (PubClassInfo item in classes)
{
TreeNode childNode = new TreeNode();
childNode.Text = item.ClassCName;
childNode.Value = item.ClassID;
//判断是否有子节点
IList<PubClassInfo> classesChild = transcate.GetClassChild(childNode.Value);
if (classesChild.Count != 0)
{
AddChild(childNode);
}
parentNode.ChildNodes.Add(childNode);
}
}
如果在每个节点前加checkbox
aspx:ShowCheckBoxes="Leaf"
cs;TreeNodeCollection nodeList = tvClass.CheckedNodes;//得到所有选中复选框的节点集合
for (int i = 0; i < nodeList.Count; i++)
{
strClasses[i] = nodeList[i].Value;
}
eg2:
public void AddChild(TreeNode nodeParent)
{
NHibernateHelper nhHelper = new NHibernateHelper();
ISessionFactory factory = nhHelper.GetSessionFactory();
ISession session = factory.OpenSession();
ItemList itls = new ItemList(session);
ITransaction tx = session.BeginTransaction();
try
{
IList<NHibernate.Domain.Organization> orgs = itls.GetOrganizationChild(nodeParent.Value);
foreach (var item in orgs)
{
TreeNode childNode = new TreeNode();
childNode.Text = item.OrganizationName;
childNode.Value = item.OrganizationID.ToString();
nodeParent.ChildNodes.Add(childNode);
//判断是否有子节点
IList<NHibernate.Domain.Organization> orgsChild = itls.GetOrganizationChild(item.OrganizationID.ToString());
if (orgsChild.Count!=0)
{
AddChild(childNode);
}
}
tx.Commit();
}
catch (Exception)
{
tx.Rollback();
throw;
}
finally
{
session.Close();
}
}
eg1:
/// <summary>
/// 绑定大树
/// </summary>
public void BindTvClass()
{
this.tvClass.Nodes.Clear();
TreeNode node = new TreeNode();
node.Text = "栏目";
node.Value = "0";
AddChild(node);
this.tvClass.Nodes.Add(node);
}
/// <summary>
/// tvClass绑定数据
/// </summary>
/// <param name="parentNode"></param>
public void AddChild(TreeNode parentNode)
{
IList<PubClassInfo> classes = transcate.GetClassChild(parentNode.Value);
foreach (PubClassInfo item in classes)
{
TreeNode childNode = new TreeNode();
childNode.Text = item.ClassCName;
childNode.Value = item.ClassID;
//判断是否有子节点
IList<PubClassInfo> classesChild = transcate.GetClassChild(childNode.Value);
if (classesChild.Count != 0)
{
AddChild(childNode);
}
parentNode.ChildNodes.Add(childNode);
}
}
如果在每个节点前加checkbox
aspx:ShowCheckBoxes="Leaf"
cs;TreeNodeCollection nodeList = tvClass.CheckedNodes;//得到所有选中复选框的节点集合
for (int i = 0; i < nodeList.Count; i++)
{
strClasses[i] = nodeList[i].Value;
}
eg2:
public void AddChild(TreeNode nodeParent)
{
NHibernateHelper nhHelper = new NHibernateHelper();
ISessionFactory factory = nhHelper.GetSessionFactory();
ISession session = factory.OpenSession();
ItemList itls = new ItemList(session);
ITransaction tx = session.BeginTransaction();
try
{
IList<NHibernate.Domain.Organization> orgs = itls.GetOrganizationChild(nodeParent.Value);
foreach (var item in orgs)
{
TreeNode childNode = new TreeNode();
childNode.Text = item.OrganizationName;
childNode.Value = item.OrganizationID.ToString();
nodeParent.ChildNodes.Add(childNode);
//判断是否有子节点
IList<NHibernate.Domain.Organization> orgsChild = itls.GetOrganizationChild(item.OrganizationID.ToString());
if (orgsChild.Count!=0)
{
AddChild(childNode);
}
}
tx.Commit();
}
catch (Exception)
{
tx.Rollback();
throw;
}
finally
{
session.Close();
}
}
相关文章推荐
- asp.net TreeView动态添加
- ASP.NET通过递归添加树(Treeview)
- Asp.Net中动态初始化、添加TreeView中数据
- ASP.NET通过递归添加树(Treeview)
- ASP.NET 递归 绑定TreeView
- 动态添加ASP.NET控件并绑定处理事件一例
- [ASP.net]TreeView(1)(一次性递归所有节点)
- asp.net(C#) 动态添加非ASP的标准html控件(如添加Script标签)
- [ASP.net]TreeView(1)(一次性递归所有节点)
- asp.net 服务器端动态生添加控件
- asp.net Panel动态添加控件并纵向布局
- TreeView无刷新动态生成树[C# Asp.net 2.0]
- ASP.NET 2.0构建动态导航的Web应用程序(TreeView和Menu )
- 利用XSLT+JavaScript+Asp.net动态添加广告图片
- ASP.NET给前端动态添加修改 CSS样式JS 标题 关键字(转载)
- Asp.net 动态创建的控件并添加事件,无响应的解决方法。
- 1.TreeView.应用--2.asp.net 2.0中TREEVIEW中动态增加结点--3.msdn中nasp.net 2.0中TREEVIEW中动态增加结点--4.TreeView.ImageSet 属性,换换treeview的皮肤收藏
- 在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)
- ASP.NET TreeView 递归绑定数据
- asp.net动态添加GridView的模板列,并获取列值