private void ProcessItemSelection(object sender) { ColumnFilterItem filterValue = (ColumnFilterItem)((PopupForm)sender).SelectedFilterItem; if (filterValue == null) { return; } if (filterValue is ColumnFilterCustomItem && filterShowingColumn != null) { CustomFilterForm frm = CreateCustomFilterForm(); PopuplateFilterConditions(frm); if (frm.ShowDialog() == DialogResult.OK) { filterValue = GetCustomFilterValue(frm); AddSingleFilterCondition(frm.cbeFilterConditions.Text, filterValue); } } else if (!filterValue.IsEmpty && filterShowingColumn != null) { AddSingleFilterCondition("Equals", filterValue); } filterShowingColumn = null; }
private void AddSingleFilterCondition(string filterConditionString, ColumnFilterItem filterValue) { OwnerTreeList.FilteredVisibleNodes.Clear(); FilterConditionEnum condition; ColumnFilterCondition newCondition; if (filterValue is ColumnFilterBlanksItem) { newCondition = new ColumnFilterCondition(filterShowingColumn.FieldName, FilterConditionEnum.IsBlank, null, null); } else if (filterValue is ColumnFilterNonBlanksItem) { newCondition = new ColumnFilterCondition(filterShowingColumn.FieldName, FilterConditionEnum.IsNotBlank, null, null); } else { condition = (FilterConditionEnum)Enum.Parse(typeof(FilterConditionEnum), filterConditionString); newCondition = new ColumnFilterCondition(filterShowingColumn.FieldName, condition, filterValue.Value, filterValue.DisplayText); } for (int i = 0; i < OwnerTreeList.ColumnFilterConditions.Count; i++) { if (OwnerTreeList.ColumnFilterConditions[i].Column == filterShowingColumn) { OwnerTreeList.ColumnFilterConditions.RemoveAt(i); break; } } if (!(filterValue is ColumnFilterAllItem)) { OwnerTreeList.ColumnFilterConditions.Add(newCondition); } }
public override bool Equals(object obj) { if (!(obj is ColumnFilterItem)) { return(base.Equals(obj)); } ColumnFilterItem item = (ColumnFilterItem)obj; return(Object.Equals(this.Value, item.Value) && this.DisplayText == item.DisplayText); }
protected virtual ColumnFilterItem GetCustomFilterValue(CustomFilterForm frm) { ColumnFilterItem filterValue; try { filterValue = new ColumnFilterItem(Convert.ChangeType(frm.teValue.EditValue, filterShowingColumn.ColumnType), frm.teValue.Text); } catch { filterValue = new ColumnFilterItem(frm.teValue.Text, frm.teValue.Text); } return(filterValue); }
private static void RemoveColumnDataDuplicates(List <ColumnFilterItem> columnValuesList) { ColumnFilterItem item = columnValuesList[0]; int sameIndex = 0; int sameCount = 0; int i = 1; while (i < columnValuesList.Count) { if (columnValuesList[i] == item) { sameCount++; i++; } else { if (sameCount > 0) { columnValuesList.RemoveRange(sameIndex, sameCount); i = i - sameCount; sameCount = 0; sameIndex = i; item = columnValuesList[i]; i++; } else { sameIndex = i; item = columnValuesList[i]; i++; } } } if (sameCount > 0) { columnValuesList.RemoveRange(sameIndex, sameCount); } }
private void filterItemsList_SelectedIndexChanged(object sender, EventArgs e) { selectedFilterItem = (ColumnFilterItem)filterItemsList.SelectedItem; popupFormClosing = true; this.Close(); }
private static bool IsFilterItemValueEmpty(ColumnFilterItem value) { return(value.IsEmpty); }