Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        private static Type GetFilterType(FilterPanel fp)
        {
            IGridCellEditControl editor = fp.GridColumn.EditControl;

            if (editor != null)
                return (editor.EditorValueType);

            return (typeof(string));
        }
Esempio n. 5
0
        private static FilterPanel GetNewFilterPanel(GridFilter gridFilter)
        {
            FilterPanel fp = new FilterPanel();
            fp.Visible = false;

            gridFilter.SuperGrid.Controls.Add(fp);

            return (fp);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        ///<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;
        }