private void LoadConditionFilter(XmlReader xr, ColumnFilter cf, Condition cond) { if (xr.MoveToAttribute("op")) { cond.Operator = (ConditionOperator) Enum.Parse(typeof (ConditionOperator), xr.Value, true); } if (xr.MoveToAttribute("val")) { cond.Parameter = ColumnFilterEditor.ConvertType(xr.Value, cf.DataType, cf.Column.GetCultureInfo()); } }
private void LoadValueFilter(XmlReader xr, ColumnFilter cf) { var list = new List<object>(); while (xr.Read()) { if (xr.NodeType == XmlNodeType.Element && xr.Name == "Value" && xr.MoveToAttribute("val")) { if (Equals(xr.Value, NullValue.Value.ToString())) { list.Add(NullValue.Value); } else { try { Type underlyingType = Nullable.GetUnderlyingType(cf.DataType); object item = Convert.ChangeType(xr.Value, underlyingType ?? cf.DataType, CultureInfo.InvariantCulture); list.Add(item); } catch { list.Add(xr.Value); } } } } cf.ValueFilter.Values = list; }
private void LoadConditionFilter(XmlReader xr, ColumnFilter cf) { while (xr.Read()) { if (xr.NodeType == XmlNodeType.Element) { if (xr.Name == "ConditionFilter") { string attribute = xr.GetAttribute("AndConditions"); bool andConditions = true; if (bool.TryParse(attribute, out andConditions)) { cf.ConditionFilter.AndConditions = andConditions; } } if (xr.Name == "Condition1") { LoadConditionFilter(xr, cf, cf.ConditionFilter.Condition1); } if (xr.Name == "Condition2") { LoadConditionFilter(xr, cf, cf.ConditionFilter.Condition2); } } } }
private bool IsTextFilter(ColumnFilter filter) { return filter.ConditionFilter.IsActive && IsTextOperator(filter.ConditionFilter.Condition1.Operator); }
internal void SetFilter(Column column, ColumnFilter filter) { _filters[column] = filter; Apply(); }
public ColumnFilter GetColumnFilter(Column column) { if (!_filters.ContainsKey(column)) { _filters[column] = new ColumnFilter(this, column); } return _filters[column]; }
private FrameworkElement CreateDropDown(ColumnFilter filter) { Image image = new Image(); image.Tag = filter; image.Stretch = Stretch.None; image.HorizontalAlignment = HorizontalAlignment.Center; image.VerticalAlignment = VerticalAlignment.Center; image.MouseLeftButtonDown += img_MouseLeftButtonDown; UpdateGlyphImage(image, false); return image; }