silverlight treeview 中添加复选框实现实现选择父节点,其下的子节点全部选中:
来源:互联网 发布:二手书知乎 编辑:程序博客网 时间:2024/04/30 11:49
for (int i = 0; i < list.Count; i++)
{
if (Convert.ToInt32(list[i].AreaPId) == 0)
{
StackPanel sp = new StackPanel();
t = new TreeViewItem
{
//Header = list[i].AreaName,
Header = sp,
Tag = list[i].AreaId,
IsExpanded = true,
};
CheckBox cb = new CheckBox()
{
Content = list[i].AreaName,
Tag = t,
};
sp.Children.Add(cb);
treeview1.Items.Add(t);
//LoadTree(treeview1.Items, 0);
CreaChildNode(t, list);
}
}
public void CreaChildNode(TreeViewItem item, ObservableCollection<Modele> list)
{
ObservableCollection<Modele> data = new ObservableCollection<Modele>();
for (int i = 0; i < list.Count; i++)
{
if (Convert.ToInt32(list[i].AreaPId) == (int)item.Tag)
{
data.Add(list[i]);
}
}
for (int j = 0; j < data.Count; j++)
{
StackPanel sp = new StackPanel();
TreeViewItem t = new TreeViewItem()
{
//Header = data[j].AreaName,
Header = sp,
Tag = data[j].AreaId,
IsExpanded = true,
};
CheckBox cb = new CheckBox()
{
Content = data[j].AreaName,
Tag = t,
};
sp.Children.Add(cb);
item.Items.Add(t);
CreaChildNode(t, list);
}
}
//遍历树控件取到所有的控件
private static IEnumerable<DependencyObject> GetChilds(DependencyObject root)
{
List<DependencyObject> lst = new List<DependencyObject>();
lst.Add(root);
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(root); i++)
{
lst.AddRange(GetChilds(VisualTreeHelper.GetChild(root, i)));
}
return lst;
}
/// <summary>
/// 选中事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeview1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
TreeView tree = sender as TreeView;
TreeViewItem t = tree.SelectedItem as TreeViewItem;
//递归得到下一层
//CreaChildNodeOne(t, list);
//alljie.Clear();
//递归得到 所有父级
//AllItem(t, list);
StackPanel sp = t.Header as StackPanel;
CheckBox cb = null;
for (int i = 0; i < sp.Children.Count; i++)
{
cb = sp.Children[0] as CheckBox;
}
cb.Checked += new RoutedEventHandler((sender1, e1) =>
{
var obj = GetChilds(t).OfType<CheckBox>();
foreach (CheckBox d in obj)
{
d.IsChecked = true;
}
});
cb.Unchecked += new RoutedEventHandler((sender1, e1) =>
{
var obj = GetChilds(t).OfType<CheckBox>();
foreach (CheckBox d in obj)
{
d.IsChecked = false;
}
});
}
- silverlight treeview 中添加复选框实现实现选择父节点,其下的子节点全部选中:
- javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中
- TreeView有checkbox 当父节点选择框选中 子节点将全部选中 代码怎么写的?
- C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中全部子节点?
- TreeView控件实现选中父节点时全选子节点
- TreeView控件实现选中父节点时全选子节点
- TreeView控件实现选中父节点时全选子节点
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- ExtJs复选框树,可实现节点选中自动选中父节点子节点(权限树)
- ExtJs复选框树,可实现节点选中自动选中父节点子节点(权限树)
- c# treeview控件动态绑定数据库,实现2级目录,当输入同一父节点的子节点时,在相同父节点下添加子节点.txt
- TreeView中如何选中一个父节点同时选中所有的子节点和孙节点。。。
- TreeView选择父节点自动选中子节点
- WinForm中Treeview实现根节点无选择框而子节点存在
- 实现当TreeView中父节点的CheckBox的点选状态改变时,回发服务器端,并且选中父节点,所有子节点全选中
- c# winform TreeView控件点击节点,它的子节点被全部选中或者取消选中
- C#中TreeView选中父节点同时选中所有的子节点
- 使用Zend_Auth和Zend_Acl进行登录认证及根据用户角色进行权限控制
- 黑马程序员 分享两道面试题之一交通灯管理系统
- Autocorrelation
- C# 多线程并发处理数据库数据,发送信号等待处理完统一插入
- LeetCode 解题报告 Maximum Product Subarray
- silverlight treeview 中添加复选框实现实现选择父节点,其下的子节点全部选中:
- 测试cuda的unified memory和cudaMemcpy的加减乘除及空间申请时间对比
- 函数指针与指针函数
- BarChart的简单使用
- 阿里云虚拟服务器Linux(CentOS)的初试
- \"_OBJC_CLASS_$解决方案
- 无法定位XXXX mfc90u.dll
- Matcher类matches()与find()区别
- 天道不一定酬勤,深度思考比勤奋更重要