首页 > 代码库 > C# WPF Datagrid的筛选
C# WPF Datagrid的筛选
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) // { // dtNew.Rows.Add(row.ItemArray); // break; // } // } //} //dg.ItemsSource = dtNew.DefaultView; }
C# WPF Datagrid的筛选
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。