绑定 treeview树

摘要:
IsPostBack){BDTree();}}privateListlist=newList();privatevoidBDTree(){list=bll.GetModelList(“ANDCom_IsTrue=0ANDCom_Status=2;”);AddTree(“00000000-0000-0000-0000-000000000000000”,空);}publicvoidAddTree(stringParentID,TreeNodepNode){if(list.Where(o=>o.Com_ParentId.ToString().Equals(ParentId)).Count()==0)return;listclist=list.Where(o=>o.Com_ParantId.ToString ; 节点.Text=dc。公司名称;节点。ShowCheckBox=真;TreeView1.Nodes。添加(节点);AddTree(dc.Com_Id.ToString(),节点);}否则{Node.Value=dc.Com_Id.ToString();Node.Text=dc.Com_Name;Node.ShowCheckBox=true;//Node.SelectAction=TreeNodeSelectAction.SelectExpand;pNode.ChildNodes.Add(节点);AddTreeprotectedvoidTreeView1_SelectedNodeChanged(objectsender,EventArgse){if(TreeView1.SelectedNode.Checked){TreeView1.SelectedNode.Checked=false;如果(TreeView1.SelectedNode.ChildNode.Count>0){foreach(TreeNodeinTreeView1.SelectedNode.Child Nodes){n.Checked=true;}return;}TreeView1.SelectedNode。选中=真;如果(TreeView1.SelectedNode.ChildNodes.Count>0){foreach(TreeView1.SelectedNode.CildNodes){n.Checked=true;}}如果(TreeView1.SelectedNode.Parent!

 一 : 

效果

绑定 treeview树第1张

<form runat="server">
<asp:TreeView runat="server" SelectAction="Expand">
</asp:TreeView>
</form>

protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string where = " AND Com_IsTrue=0 AND Com_Status=2 ";
BDTree(where);
}
}

private List<T_CommodityType> list = new List<T_CommodityType>();
private void BDTree( string where )
{
list = bll.GetModelList(where );
AddTree("", null);
}

public void AddTree(string ParentID, TreeNode pNode)
{
if (list.Where(o => o.Com_ParentId.ToString().Equals(ParentID)).Count() == 0)
return;
List<T_CommodityType> clist = list.Where(o => o.Com_ParentId.ToString().Equals(ParentID)).ToList();
foreach (T_CommodityType dc in clist)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{
Node.Value = dc.Com_Id.ToString();
Node.Text = dc.Com_Name;
Node.NavigateUrl = "javascript:SaveSelData('" + Node.Text + "','" + Node.Value + "');";
TreeView1.Nodes.Add(Node);
AddTree(dc.Com_Id.ToString(), Node);
}
else
{
Node.Value = dc.Com_Id.ToString();
Node.Text = dc.Com_Name;
Node.NavigateUrl = "javascript:SaveSelData('" + Node.Text + "','" + Node.Value + "');";
pNode.ChildNodes.Add(Node);
AddTree(dc.Com_Id.ToString(), Node);
}
}
}

 二 :

绑定 treeview树第2张

点击 “水果类”

绑定 treeview树第3张

<div>
<asp:TreeView runat="server" SelectAction="Expand"
ShowCheckBoxes="All" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" OnLoad="TreeView1_Load">
</asp:TreeView>
</div>

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BDTree();
}
}
private List<T_CommodityType> list = new List<T_CommodityType>();
private void BDTree()
{
list = bll.GetModelList(" AND Com_IsTrue=0 AND Com_Status=2 ; ");
AddTree("00000000-0000-0000-0000-000000000000", null);
}
public void AddTree(string ParentID, TreeNode pNode)
{
if (list.Where(o => o.Com_ParentId.ToString().Equals(ParentID)).Count() == 0)
return;
List<T_CommodityType> clist =
list.Where(o => o.Com_ParentId.ToString().ToLower().Equals(ParentID.ToLower())).ToList();
foreach (T_CommodityType dc in clist)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{
Node.Value = dc.Com_Id.ToString();
Node.Text = dc.Com_Name;
Node.ShowCheckBox = true;
TreeView1.Nodes.Add(Node);
AddTree(dc.Com_Id.ToString(), Node);
}
else
{
Node.Value = dc.Com_Id.ToString();
Node.Text = dc.Com_Name;
Node.ShowCheckBox = true;
//Node.SelectAction = TreeNodeSelectAction.SelectExpand;
pNode.ChildNodes.Add(Node);
AddTree(dc.Com_Id.ToString(), Node);
}

}
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView1.SelectedNode.Checked)
{
TreeView1.SelectedNode.Checked = false;
if (TreeView1.SelectedNode.ChildNodes.Count > 0)
{
foreach (TreeNode n in TreeView1.SelectedNode.ChildNodes)
{
n.Checked = true;
}
}
return;
}
TreeView1.SelectedNode.Checked = true;

if (TreeView1.SelectedNode.ChildNodes.Count > 0)
{
foreach (TreeNode n in TreeView1.SelectedNode.ChildNodes)
{
n.Checked = true;
}
}
if (TreeView1.SelectedNode.Parent != null)
{
// TreeView1.SelectedNode.Parent.Checked = true;
}
}

protected void TreeView1_Load(object sender, EventArgs e)
{
if (!object.Equals(null, TreeView1.SelectedNode))
{
TreeView1.SelectedNode.Select();
TreeView1.SelectedNode.Selected = false;
}
}

免责声明:文章转载自《绑定 treeview树》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇silverlight 了解了一种新技术 科普下entrySet用法 以及遍历map的用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# TreeView 建立、遍历树(递归)

刚接触treeview这个功能,恶补了几天,博主总结下实现的功能以备用,希望能帮到需要的亲~~ C#gui程序中建立树状结构、遍历树状结构、树状结构节点选中联动(选中父节点时,自动选中其全部子节点,取消选中的某子节点,取消其相应的所有父节点的选中),读取选中节点信息。 0.最初的父节点建立ParentNode = tv_user.Nodes.Add(OUn...

[WPF](小结4)TreeView的数据分层模板

前边研究的是某控件嵌套某控件,这里相当于树嵌套树,但这里不能这么叫,树很特殊,它有一个分层数据模板:HierarchicalDataTemplate,现在来看如何使用, 第一:选构建题目类,再建一个选项类,题目类集合中的每个项包含一个选项类集合,即数组嵌套数组,C#语句如下: (为方便看清语句,类直接写在主程序中) C#代码如下:usingSyste...

MVVM模式下实现拖拽

在文章开始之前先看一看效果图 我们可以拖拽一个"游戏"给ListBox,并且ListBox也能接受拖拽过来的数据, 但是我们不能拖拽一个"游戏类型"给它。 所以当拖拽开始发生的时候我们必须添加一些限制条件,以防止接受不正确的数据。 Item实体 CS public class ItemModel : ViewModelBase {...

(转)C# WinForm开发系列 TreeView

包含异步加载树,带拖动,多选,动画效果等控件(文章及相关代码搜集自网络,仅供参考学习,版权属于原作者! ). 1.我的资源管理器 2.支持Animation效果的树控件 翻译Stu-Smith著Customizable Tree Control with Animation Supportivanx译 For MSPROJECT.CN 简介本文实现一个全定...

微软Blazor组件发布,DevExpress v19.1.8中可用:Charts新功能

点击获取DevExpress v19.2.3最新完整版试用下载 DevExpress UI for Blazor在v19.1.8中可用,此次更新发布包括DevExpress Blazor组件的主要功能增强:新的数据网格、图表、TreeView和Tabs。本文将先为大家介绍事件源检测、图表、标签等功能,迎下载最新版试用体验>> TreeView...

delphi Drag and Drop sample 鼠标拖放操作实例

Drag and Drop is a common operation that makes the interface user friendly: a user can drag/drop information to controls instead of having to type etc. The following sample explai...