public static void SearchResult(DataGrid dg,string condition)
{
#region
string code = string.Empty;
DataView dv = dg.ItemsSource as DataView;
//if (condition.Substring(0, 1) != "0" || Regex.IsMatch(condition, @"^[+-]?\d*[.]?\d*$"))
{
for (int i = ; i < dv.Table.Columns.Count; i++)
{
if (dv.Table.Columns[i].DataType == typeof(System.Int32) || dv.Table.Columns[i].DataType == typeof(System.Byte))
{
if (condition.Substring(, ) != "" && Regex.IsMatch(condition, @"^[+-]?\d*[.]?\d*$"))
{
code += (string)dv.Table.Columns[i].ToString() + " = " + condition + " or ";
}
}
else if (dv.Table.Columns[i].DataType == typeof(System.DateTime))
{
try
{
code += (string)dv.Table.Columns[i].ToString() + " = '" + Convert.ToDateTime(condition) + "' or ";
}
catch (Exception)
{
}
}
else
{
code += (string)dv.Table.Columns[i].ToString() + " = '" + condition + "' or ";
}
}
}
if (!string.IsNullOrEmpty(code))
{
code = code.Substring(, code.Length - );
MessageBox.Show(code);
dv.RowFilter = code;
//dv.Sort = "ID ASC";
dg.ItemsSource = dv;
}
#endregion
//DataTable dv = (dg.ItemsSource as DataView).Table;
//DataTable dtNew = dv.Copy();
//dtNew.Clear();
//foreach (DataRow row in dv.Rows)
//{
// for (int i = 0; i < dv.Columns.Count; i++)
// {
// if (row[i].ToString() == condition)//全匹配查询//row[i].ToString().Contains(condition)//模糊查询
             // { 
                    // dtNew.Rows.Add(row.ItemArray);
                    // break;
             // }
          // }
        //}
        //dg.ItemsSource = dtNew.DefaultView;
     }

C# WPF Datagrid的筛选的更多相关文章

  1. WPF DataGrid常用属性记录

    WPF DataGrid常用属性记录 组件常用方法: BeginEdit:使DataGrid进入编辑状态. CancelEdit:取消DataGrid的编辑状态. CollapseRowGroup:闭 ...

  2. WPF DATAGRID - COMMITTING CHANGES CELL-BY-CELL

    In my recent codeproject article on the DataGrid I described a number of techniques for handling the ...

  3. WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.

    WPF DataGrid某列使用多绑定后该列排序失效 2011-07-14 10:59hdongq | 浏览 1031 次  悬赏:20 在wpf的datagrid中某一列使用了多绑定,但是该列排序失 ...

  4. xceed wpf datagrid

    <!--*********************************************************************************** Extended ...

  5. 获取wpf datagrid当前被编辑单元格的内容

    原文 获取wpf datagrid当前被编辑单元格的内容 确认修改单元个的值, 使用到datagrid的两个事件 开始编辑事件 BeginningEdit="dataGrid_Beginni ...

  6. WPF DataGrid绑定一个组合列

    WPF DataGrid绑定一个组合列 前台: <Page.Resources>        <local:InfoConverter x:Key="converter& ...

  7. WPF DataGrid自定义样式

    微软的WPF DataGrid中有很多的属性和样式,你可以调整,以寻找合适的(如果你是一名设计师).下面,找到我的小抄造型的网格.它不是100%全面,但它可以让你走得很远,有一些非常有用的技巧和陷阱. ...

  8. WPF DataGrid显格式

    Guide to WPF DataGrid formatting using bindings Peter Huber SG, 25 Nov 2013 CPOL    4.83 (13 votes) ...

  9. WPF DataGrid Custommization using Style and Template

    WPF DataGrid Custommization using Style and Template 代码下载:http://download.csdn.net/detail/wujicai/81 ...

随机推荐

  1. activemq java版本要求

    <pre name="code" class="html">activemq: redis01:/root# cp apache-activemq- ...

  2. 大话spring.net之IOC

    在学习Spring.NET这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC). 控制反转(Inversion of Control,英文缩写为IoC).也 ...

  3. Android应用开发学习笔记之播放视频

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在Android中,我们可以通过使用VideoView类或者MediaPlayer类来播放视频. 一.使用Video ...

  4. 设计模式(三)-- 适配器模式(Adapter)

    适配器模式(Adapter) 考虑一个记录日志的应用,由于用户对日志记录的要求很高,使得开发人员不能简单地采用一些已有的日志工具或日志框架来满足用户的要求,而需要按照用户的要求重新开发新的日志管理系统 ...

  5. inline与lnk2001、lnk2019,鸡肋?

    inline函数居然出现了lnk2001.lnk2019,先贴代码. a.h #pragma once class A { public: inline void foo();     void us ...

  6. swt,jface,rcp

    //swt-jface-rcp,基本结构:display类,shell类,组件:widget窗口控件,control控件,composites面板,button,label,text文本框,list列 ...

  7. 【总结】在VirtualBox上面安装Mac的注意事项

    看此文之前 http://www.crifan.com/category/work_and_job/virtual_machine/virtualbox-virtual_machine/ 此文仅仅是针 ...

  8. php编码

    原文:php编码 PHP 页面编码声明与用header或meta实现PHP页面编码的区别     php的header来定义一个php页面为utf编码或GBK编码 php页面为utf编码 header ...

  9. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置         你应该熟悉(假设还咩有)的SharePo ...

  10. 利用Node.js实现模拟Session验证的登陆

    1.身份验证和用户登陆 在一般的Web应用上,假设要实现用户登陆,最经常使用,也是最简单的方法就是使用Session,主要的思路是在Session中保留一些用户身份信息,然后每次在Session中取, ...