[DevExpress]TreeList数据筛选

关键代码:

        public static void Filter(this TreeList tree, FilterCondition fc)
        {
            if (tree != null && fc != null)
            {
                if (!tree.OptionsBehavior.EnableFiltering)
                    tree.OptionsBehavior.EnableFiltering = true;
                tree.FilterConditions.Clear();
                tree.FilterConditions.Add(fc);
            }
        }

测试代码:

        private void Form1_Load(object sender, EventArgs e)
        {
            this.InitData();
            this.treeList1.DataSource = PersonList;
            this.lookUpEdit1.BindWithAutoCompletion(PersonList, "Name", "Name", "输入需要搜索的....");
            this.lookUpEdit1.AddDeleteButton("删除选中数据....");
            this.lookUpEdit1.KeyDown += new KeyEventHandler(lookUpEdit1_KeyDown);
        }
        void lookUpEdit1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                Person _curPerson = lookUpEdit1.GetSelectedDataRow() as Person;
                FilterCondition _curFc = new FilterCondition(FilterConditionEnum.NotContains, treeList1.Columns["Name"], _curPerson.Name);
                treeList1.Filter(_curFc);
            }
        }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

实现效果:

树所有数据:

筛选后的数据:

希望有所帮助!

时间: 2024-08-26 04:56:01

[DevExpress]TreeList数据筛选的相关文章

DevExpress TreeList利用递归绑定数据

private void TreeListBind(DataTable dt, int p) { treeList1.Nodes.Clear(); if (dt.Rows.Count < 1) return; DataView dv = new DataView(dt); dv.RowFilter = "ParentFieldName=" + p; if (dv.Count < 1) return; TreeListNode Node = treeList1.AppendN

DevExpress TreeList使用教程之绑定多级树

DevExpress TreeList使用教程之绑定多级树 概述:TreeList控件可以同时显示树结构和其他数据列,即在一个列上建立父子关系展开或收缩,同时还可以显示其他列的内容.在TreeList中同时引入了 Node和 Columns概念, 第一列为树结构, 其余列为数据列, 任何列都可作为树结构列(即拖动到第一列)显示 TreeList控件可以同时显示树结构和其他数据列,即在一个列上建立父子关系展开或收缩,同时还可以显示其他列的内容. 在TreeList中同时引入了 Node和 Colu

DevExpress TreeList 那些事儿

1:TreeList绑定数据源 当我们给予TreeList 的 parentFieldName 和 KeyFieldName 两个属性之后 会自动的生成树结构. 1 var sql = @" SELECT * FROM TRAININGANDPROJECT"; 2 DataTable dt = SQLiteHelper.ExecuteTable(sql); 3 treeList1.DataSource = dt; // 将DataTable绑定到 TreeList中. 4 treeLi

excel3——数据筛选

元数据 数据--筛选---自动筛选---输入条件和数值

关于数据筛选的不打不小的问题

问题如下: 假设这样一种情况,首先说明,信息是存放在mysql数据库中的.情况如下,A表信息堆是百万级信息堆(每条信息长度不长,基本在20字符以内,属于简短词语),B则是一条普通信息(长度大概在500字符左右),问,有哪种最有效的方式可以来判断B信息中是否包含有A堆中的信息并返回包含的信息? 在此提供一种解法,如果大家有更好的解法欢迎大家留言交流! 由于A信息堆数据量比较大并存放于数据库中,故产生一个很简单的解法,直接通过一条sql解决,当然,这样会衍生一个问题就是sql优化,如何减少搜索时间就

[WinForm][DevExpress][TreeList]向上递归,获取公共父节点

最近项目开发中,需要获取到公共节点,如图: 譬如,当点击"Test103-2"节点,其类型是"灯"类型,那怎么获取到"中心区域"这个类型是"地域"的公共节点了?(不知道描述清楚木有哈) 核心代码: /// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递归的节点</pa

如何让DevExpress TreeList的每个结点高亮显示?

概述:如何让DevExpress TreeList的每个节点高亮显示? 如何让DXperience TreeList的每个节点高亮显示? 效果如下: private void treeList1_CustomDrawNodeCell(object sender, DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs e)        {             TreeList node = sender as TreeList;       

DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样

'近日有本论坛网友问:DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样 '今晚正好闲着没事,加之以前也没用到过这个需求,所以就写了个模拟功能,供各位坛友酌情参考. 'VB.NET 2008 环境 '新建一个项目后,只需在Form1中拉一个DataGridView,一个ComboBox,然后将下面代码复制粘贴即可,其它什么也不用做 Public Class Form1 Dim SelectedCol As Integer = 0, IsFindit As Boo

[WinForm][DevExpress][TreeList]节点互斥

关键代码: /// <summary> /// 节点互斥同步 /// 说明 /// eg: ///TreeListNode _node = e.Node; ///_node.SyncMutexNodeCheckState(_node.CheckState, n => n.GetNodeType() == NodeType.Cab); /// </summary> /// <param name="node">需要互斥同步的节点</para