博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# WPF Datagrid的筛选
阅读量:4473 次
发布时间:2019-06-08

本文共 2364 字,大约阅读时间需要 7 分钟。

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 = 0; 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(0, 1) != "0" && 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(0, code.Length - 3);                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;      }

 

转载于:https://www.cnblogs.com/Events/p/3937443.html

你可能感兴趣的文章
CSS清除浮动
查看>>
数据库基础-数据库常用命令总结
查看>>
java8 按对象属性值排序
查看>>
【转帖】国产x86处理器KX-6000发布
查看>>
04-js的运算符
查看>>
第三天 while循环 及其用法
查看>>
Delphi 10 seattle 去掉自带的代码连接线
查看>>
构建高并发高可用的电商平台架构实践(转)
查看>>
Geometry Imager Viewport Filter
查看>>
九度oj 题目1025:最大报销额
查看>>
数字及字符串
查看>>
【转载】OmniGraffle (二)基础绘图和模具
查看>>
一些提高开发效率的 Category
查看>>
拓扑排序基础题——排序
查看>>
转:iphone 申请证书
查看>>
Python就业方向
查看>>
一步步学习SPD2010--第二章节--处理SP网站(3)--创建网站层次架构
查看>>
TCP
查看>>
Excel常用函数大全
查看>>
团队-团队编程项目中国象棋-模块测试过程
查看>>