GridControl的模糊查询


如上图所示,如果查询供应商名称包括机械的公司,正常设置是不可以的,只能从头开始筛选:


方法1:

以下是以为网名为[不是小宽]的网友发给我的完美解决方案,我在此贴出来,大家可以共同学习:

/// <summary>
        /// 设置girid为每一列都模糊搜索
        /// </summary>
        /// <param name="gdv"></param>
        public static void SetFilter( DevExpress.XtraGrid.Views.Grid.GridView gdv )
        {
            gdv.OptionsView.ShowAutoFilterRow = true;
            //gdv.OptionsFilter.AllowMultiSelectInCheckedFilterPopup = true;
            foreach (DevExpress.XtraGrid.Columns.GridColumn item in gdv.Columns)
            {
                item.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains;   //筛选条件设置为包含  
                item.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;//设置为过滤是可以多选
            }
        }

在要查询的窗体中调用即可:

SetFilter( gridView2 );
下面是效果图:

再次感谢热心的[不是小宽]!!!奋斗


方法2:

 private void gridView1_CustomDrawRowIndicator( object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e )
        {
            foreach (DevExpress.XtraGrid.Columns.GridColumn item in gridView1.Columns)
            {
                item.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains;   //筛选条件设置为包含  
            }
        }




Boost库是一个跨平台的C++库,提供了许多多线程编程的工具和类。下面是使用Boost库进行多线程编程的一些方法: 1. 创建线程 ```cpp #include <boost/thread.hpp> void my_thread_func() { // 线程执行的代码 } int main() { // 创建新线程 boost::thread my_thread(my_thread_func); // 等待线程结束 my_thread.join(); return 0; } ``` 2. 线程同步和互斥 ```cpp #include <boost/thread.hpp> boost::mutex my_mutex; void my_thread_func() { // 申请互斥锁 boost::mutex::scoped_lock lock(my_mutex); // 互斥锁保护的代码 } int main() { // 创建新线程 boost::thread my_thread(my_thread_func); // 等待线程结束 my_thread.join(); return 0; } ``` 3. 线程池 ```cpp #include <boost/thread.hpp> #include <boost/bind.hpp> void my_thread_func(int arg) { // 线程执行的代码 } int main() { // 创建线程池 boost::thread_pool my_thread_pool(4); // 提交任务到线程池 for (int i = 0; i < 10; ++i) { my_thread_pool.submit(boost::bind(my_thread_func, i)); } // 等待任务完成 my_thread_pool.wait(); return 0; } ``` 4. 条件变量 ```cpp #include <boost/thread.hpp> #include <boost/date_time.hpp> boost::mutex my_mutex; boost::condition_variable my_cond_var; void my_thread_func() { // 申请互斥锁 boost::mutex::scoped_lock lock(my_mutex); // 等待条件变量 my_cond_var.wait(lock); // 条件满足后继续执行 } int main() { // 创建新线程 boost::thread my_thread(my_thread_func); // 等待一段时间 boost::this_thread::sleep(boost::posix_time::seconds(2)); // 通知条件变量 my_cond_var.notify_one(); // 等待线程结束 my_thread.join(); return 0; } ``` 以上是使用Boost库进行多线程编程的一些方法,可以根据实际需求进行选择和组合,以实现更加复杂的多线程应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值