private string GetTextBoxFilterExpr(Control c, FilterPanel fp, out object filterValue, out object filterDisplayValue) { filterValue = null; filterDisplayValue = null; object bds = fp.GridColumn.GridPanel.DataBinder.BaseDataSource; bool dsFilter = (fp.GridColumn.GridPanel.VirtualMode == true && (bds is DataSet || bds is DataTable)); string s = (c.Text ?? "").Trim(); if (string.IsNullOrEmpty(s) == false) { filterValue = c.Text; filterDisplayValue = c.Text; if (dsFilter == true) { s = "\'" + s + "*\'"; return ("Convert([" + fp.GridColumn.Name + "],System.String) Like " + s); } s = "\'" + s + "\'"; if (GetFilterType(fp) == typeof(string)) return ("[" + fp.GridColumn.Name + "] Like " + s); return ("ToString([" + fp.GridColumn.Name + "]) Like " + s); } return (null); }
private string GetCheckBoxFilterExpr(Control c, FilterPanel fp, out object filterValue, out object filterDisplayValue) { filterValue = CheckState.Indeterminate; filterDisplayValue = CheckState.Indeterminate; MyCheckBoxX mcb = c as MyCheckBoxX; if (mcb != null) { CheckState cs = mcb.CheckState; filterValue = cs; filterDisplayValue = cs; if (cs != CheckState.Indeterminate) { return ("[" + fp.GridColumn.Name + "] = " + (cs == CheckState.Checked ? "true" : "false")); } } return (null); }
private string GetComboBoxFilterExpr(Control c, FilterPanel fp, out object filterValue, out object filterDisplayValue) { filterValue = null; filterDisplayValue = null; ComboBoxEx cb = c as ComboBoxEx; if (cb != null) { string s1 = c.Text; MyComboItem mci = cb.SelectedItem as MyComboItem; if (fp.GridColumn.FilterAutoScan == false) { if (mci != null) { ComboBox cbx = fp.GridColumn.EditControl as ComboBox; if (cbx != null) { cbx.SelectedIndex = (int) mci.Value; s1 = cbx.Text; if (cbx.DataSource != null) s1 = cbx.SelectedValue.ToString(); } } } else { if (mci != null) { if (mci.Value is DateTime) { filterValue = s1; filterDisplayValue = c.Text; return ("[" + fp.GridColumn.Name + "] = #" + s1 + "#"); } } } if (string.IsNullOrEmpty(s1) == false) { filterValue = s1; filterDisplayValue = c.Text; return ("[" + fp.GridColumn.Name + "] = '" + s1 + "'"); } } return (null); }
private static Type GetFilterType(FilterPanel fp) { IGridCellEditControl editor = fp.GridColumn.EditControl; if (editor != null) return (editor.EditorValueType); return (typeof(string)); }
private static FilterPanel GetNewFilterPanel(GridFilter gridFilter) { FilterPanel fp = new FilterPanel(); fp.Visible = false; gridFilter.SuperGrid.Controls.Add(fp); return (fp); }
static private FilterPanel GetFilterPanel( GridFilter gridFilter, FilterEditType type) { switch (type) { case FilterEditType.CheckBox: if (_checkBoxPanel == null || _checkBoxPanel.Parent != gridFilter.SuperGrid) _checkBoxPanel = GetNewFilterPanel(gridFilter); return (_checkBoxPanel); case FilterEditType.ComboBox: if (_comboBoxPanel == null || _comboBoxPanel.Parent != gridFilter.SuperGrid) _comboBoxPanel = GetNewFilterPanel(gridFilter); return (_comboBoxPanel); case FilterEditType.DateTime: case FilterEditType.TextBox: if (_textBoxPanel == null || _textBoxPanel.Parent != gridFilter.SuperGrid) _textBoxPanel = GetNewFilterPanel(gridFilter); return (_textBoxPanel); } return (null); }
/// <summary> /// Handles invocation of FilterEditValueChanged events /// </summary> internal bool DoFilterEditValueChangedEvent(GridPanel panel, GridColumn column, FilterPanel fp, object oldValue, ref object newValue, ref object newDisplayValue, ref string newExpr) { if (FilterEditValueChanged != null) { GridFilterEditValueChangedEventArgs ev = new GridFilterEditValueChangedEventArgs(panel, column, fp, oldValue, newValue, newDisplayValue, newExpr); FilterEditValueChanged(this, ev); newValue = ev.NewValue; newDisplayValue = ev.NewDisplayValue; newExpr = ev.NewExpr; return (ev.Cancel); } return (false); }
///<summary> ///</summary> ///<param name="gridPanel"></param> ///<param name="gridColumn"></param> ///<param name="fp"></param> ///<param name="oldValue"></param> ///<param name="newValue"></param> ///<param name="newDisplayValue"></param> ///<param name="newExpr"></param> public GridFilterEditValueChangedEventArgs(GridPanel gridPanel, GridColumn gridColumn, FilterPanel fp, object oldValue, object newValue, object newDisplayValue, string newExpr) : base(gridPanel, gridColumn) { _FilterPanel = fp; _OldValue = oldValue; _NewValue = newValue; _NewDisplayValue = newDisplayValue; _NewExpr = newExpr; }