c# winform devexpress TreeList过滤和绑定
/// <summary>
/// 模糊查询
/// </summary>
/// <param name="str"></param>
/// <param name="list"></param>
/// <returns></returns>
private IList<CV_QM_DEFECT_LABEL_GROUP> onFindKeyWord(string str, IList<CV_QM_DEFECT_LABEL_GROUP> list)
{ List<CV_QM_DEFECT_LABEL_GROUP> m_list = new List<CV_QM_DEFECT_LABEL_GROUP>();
foreach (CV_QM_DEFECT_LABEL_GROUP data in list)
{
if (data.GroupName.IndexOf(str) != -1)
{
m_list.Add(data);
}
}
return m_list; }
/// <summary>
/// 寻找所有相关根节点
/// </summary>
private List<CV_QM_DEFECT_LABEL_GROUP> findparent()
{
IList<CV_QM_DEFECT_LABEL_GROUP> entities = this.icv_QM_DEFECT_LABEL_GROUPBO_0.GetEntities();
IList<CV_QM_DEFECT_LABEL_GROUP> filterdata = onFindKeyWord(txtquery.Text.Trim(), entities);
List<CV_QM_DEFECT_LABEL_GROUP> entities1 = new List<CV_QM_DEFECT_LABEL_GROUP>();//转化为list方便使用方法
List<CV_QM_DEFECT_LABEL_GROUP> entities2 = new List<CV_QM_DEFECT_LABEL_GROUP>();//用于存放所有节点 foreach (var item in (IList<CV_QM_DEFECT_LABEL_GROUP>)entities)
{
entities1.Add(item);
}
foreach (CV_QM_DEFECT_LABEL_GROUP data in filterdata)
{
CV_QM_DEFECT_LABEL_GROUP temp1 = data;
while (true)
{
if (temp1.ParentGroupID.HasValue)
{
if (entities2.Find(s => s.GroupID.Equals(temp1.GroupID)) == null)
{ entities2.Add(temp1); }
CV_QM_DEFECT_LABEL_GROUP temp = entities1.Find(s => s.GroupID.Equals(temp1.ParentGroupID));
temp1 = temp;
}
else
{
if (entities2.Find(s => s.GroupID.Equals(temp1.GroupID)) == null)
{ entities2.Add(temp1); }
break;
}
}
}
return entities2.OrderBy(item => item.GroupLevel).ToList();
}
/// <summary>
/// 数据绑定
/// </summary>
private void bind()
{
IList<CV_QM_DEFECT_LABEL_GROUP> entities = findparent();
this.TreeView1.Nodes.Clear();
foreach (CV_QM_DEFECT_LABEL_GROUP cv_qm_defect_label_group in entities)
{
if (cv_qm_defect_label_group.ParentGroupID.HasValue)
{
TreeNode[] nodeArray = this.TreeView1.Nodes.Find(cv_qm_defect_label_group.ParentGroupID.Value.ToString(), true);
if ((nodeArray != null) && (nodeArray.Length > 0))
{
nodeArray[0].Nodes.Add(cv_qm_defect_label_group.GroupID.Value.ToString(), cv_qm_defect_label_group.GroupName, "Group.png", "Group.png");
nodeArray[0].Nodes[cv_qm_defect_label_group.GroupID.Value.ToString()].Tag = cv_qm_defect_label_group;
}
else
{
this.TreeView1.Nodes.Add(cv_qm_defect_label_group.GroupID.Value.ToString(), cv_qm_defect_label_group.GroupName, "Group.png", "Group.png");
this.TreeView1.Nodes[cv_qm_defect_label_group.GroupID.Value.ToString()].Tag = cv_qm_defect_label_group;
}
}
else
{
this.TreeView1.Nodes.Add(cv_qm_defect_label_group.GroupID.Value.ToString(), cv_qm_defect_label_group.GroupName, "Group.png", "Group.png");
this.TreeView1.Nodes[cv_qm_defect_label_group.GroupID.Value.ToString()].Tag = cv_qm_defect_label_group;
}
}
this.TreeView1.ExpandAll();
} }
}
c# winform devexpress TreeList过滤和绑定的更多相关文章
- Devexpress TreeList控件绑定显示父子节点对像
今天一位同事咨询Devexpress TreeList控件绑定自动显示父子节点对像,但结果是不会显示带父子节点关系,而是将所有的节点作为父节点显示出来了,对像类的代码如下 public class I ...
- devexpress treelist 过滤
FilterMode.Smart 问题:dev 的treelist加过滤条件后,如果根节点不符合条件,则不显示数据 处理方法:把filterMode设置为smart即可. 备忘.
- DevExpress TreeList使用教程之绑定多级树
DevExpress TreeList使用教程之绑定多级树 概述:TreeList控件可以同时显示树结构和其他数据列,即在一个列上建立父子关系展开或收缩,同时还可以显示其他列的内容.在TreeLi ...
- DevExpress TreeList控件的复选框
作者:jiankunking 出处:http://blog.csdn.net/jiankunking TreeList控件能够同一时候显示树结构和其它数据列,即在一个列上建立父子关系展开或收缩,同一时 ...
- 如何让DevExpress TreeList的每个结点高亮显示?
概述:如何让DevExpress TreeList的每个节点高亮显示? 如何让DXperience TreeList的每个节点高亮显示? 效果如下: private void treeList1_Cu ...
- How to easily create popup menu for DevExpress treelist z
http://www.itjungles.com/how-to-easily-create-popup-menu-for-devexpress-treelist.html Adding popup m ...
- DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)
DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit) DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit) // 设置下拉框 ...
- Devexpress treelist 树形控件 实现带三种状态的CheckBox
树形控件是使用频率很高的一种控件.对于属性控件往往需要下面两个功能 1.TreeList带有CheckBox,并且节点要有三种状态(所有的子节点都选中,所有的子节点都没选择,一部分子节点选中).使用 ...
- 关于怎样获取DevExpress GridView过滤后或排序后的数据集问题(转)
GridView用自带的过滤功能过滤数据后,想要获取过滤后的数据集,有两种方式: 一.笨办法就是循环遍历GridView,根据gridView.GetRow()或者gridView.GetDataRo ...
随机推荐
- supervisor 管理应用程序
supervisor 进程管理 主要包含后台进程 supervisord 和控制台 supervisorctl 两个程序 supervisor # 官方文档 http://www.supervisor ...
- Python:tarxjb简单、安全文件拷贝、传输
tarxjb 简单.安全文件拷贝.传输 描述 通过python paramiko库实现简易ssh.sftp执行操作,从而实现文件的远程传输 Github 优点: 可靠传输,文件不易受损 安全传输,避免 ...
- Python中print用法里面% ,"%s 和 % d" 代表的意思
Python 编程 里面% . "%s 和 % d" 代表的意思 %s,表示格化式一个对象为字符 %d,整数 "Hello, %s"%"zhang3& ...
- win7系统中右键新建没有写字板
问题描述: win7系统中右键新建没有写字板 解决方案: 1. 按下Win+R后输入regedit打开注册表. (可以使用组合键ALT+ 键盘上的左键, 对展开的注册表项进行折叠方可查看) 2.定位到 ...
- 【Spring AOP】AOP介绍(一)
AOP(Aspect Oriented Programming) 面向切面编程,是Spring框架的一个重要组件. AOP应该算是对OOP(面向对象编程)的补充和完善.OOP引入封装.继承.多态等概念 ...
- OpenStack产品摘要
docs OpenStack 核心服务 计算 Nova:虚拟化设施资源管理 ZUN:容器管理 QINLING:Serveless Function 裸金属 IRONIC:裸金属资源管理 CYBORDF ...
- LG2447/BZOJ1923 「SDOI2010」外星千足虫 高斯消元
问题描述 LG2447 BZOJ1923 题解 显然是一个高斯消元,但是求的东西比较奇怪 发现这个方程组只关心奇偶性,于是可以用一个\(\mathrm{bitset}\)进行优化,用xor来进行消元操 ...
- pycharm访问mysql数据库
不需要像eclipse那样添加驱动包,在pycharm里面下载一个pymysql包即可. 然后链接自己电脑的mysql并进行访问即可. 源码如下(参考博客:https://blog.csdn.net/ ...
- 了解html表单
html表单 表单的根标签:form form标签属性 action:处理表单业务的后台代码的位置(URL) method:提交方式 post get 默认值 enctype:encode type ...
- Java System.getProperty vs System.getenv
转自:https://www.baeldung.com/java-system-get-property-vs-system-getenv 1. Introduction The package ja ...