/// <summary> /// Builds the filter expression and raises the FilterExpressionBuilding event /// </summary> /// <param name="sender">The event source.</param> /// <param name="e">The <see cref="System.ComponentModel.CancelEventArgs"/> userPermissions containing the event data.</param> /// <remarks> /// Override <b>OnFilterExpressionBuilding</b> to provide a filter expression construction /// logic and to set the values of the <see cref="DgvBaseColumnFilter.FilterExpression"/> and <see cref="DgvBaseColumnFilter.FilterCaption"/> properties. /// The <see cref="DgvFilterManager"/> will use these properties in constructing the whole filter expression and to change the header text of the filtered column. /// Otherwise, you can create an event handler and set the <i>Cancel</i> ctl of event argument to true, to skip standard filter expression building logic. /// </remarks> protected override void OnFilterExpressionBuilding(object sender, CancelEventArgs e) { base.OnFilterExpressionBuilding(sender, e); if (e.Cancel) { FilterManager.RebuildFilter(); return; } FilterResult filterResult = new FilterResult(); filterResult.Caption = this.OriginalDataGridViewColumnHeaderText; if (this.checkBoxSelectNull.Checked) { filterResult.Expression = GetNullCondition(this.DataGridViewColumn.DataPropertyName); filterResult.Caption += "\n= Ø"; } if (this._checkedItems.Count > 0) { if (!String.IsNullOrEmpty(filterResult.Expression)) { filterResult.Expression += " OR "; } filterResult.Expression += this.DataGridViewColumn.DataPropertyName + " IN ("; } Int32 i = 0; foreach (String filter in this._checkedItems) { if (!String.IsNullOrEmpty(filter)) { filterResult = this.ApplyFilter(filterResult, filter, i); } i++; } if (this._checkedItems.Count > 0) { filterResult.Expression += filterResult.Expression.Substring(0, filterResult.Expression.Length - 1) + ")"; } if (i > this.MaxCaptionItems) { filterResult.Caption += "\n..."; } if (!String.IsNullOrEmpty(filterResult.Expression)) { FilterExpression = filterResult.Expression; FilterCaption = filterResult.Caption; FilterManager.RebuildFilter(); } else { FilterManager.ActivateFilter(false, this.DataGridViewColumn.Index); } }
private void tsOK_Click(object sender, EventArgs e) { FilterManager.ActivateFilter(true); this.Popup.Close(); }
private void tsRemove_Click(object sender, EventArgs e) { FilterManager.ActivateFilter(false); this.Popup.Close(); }
private void lblDelete_Click(object sender, EventArgs e) { FilterManager.ActivateFilter(false); Popup.Close(); }