public override bool Next()
        {
            Owner.TheFilter.ClearFilterColumns();
            gridFilterColumns.EndEdit();

            foreach (DataGridViewRow row in gridFilterColumns.Rows)
            {
                Model.Filter.FilterColumn filterColumn;

                if ((bool)row.Cells[(int)Cells.Selected].Value)
                {
                    string logicalValue = row.Cells[(int)Cells.Logical].Value == null ? "" : row.Cells[(int)Cells.Logical].Value.ToString().Trim();

                    if (row.Tag is Model.Filter.FilterColumn)
                    {
                        filterColumn = (Model.Filter.FilterColumn)row.Tag;
                        filterColumn.CompareOperator = row.Cells[(int)Cells.Comparer].Value.ToString();
                        filterColumn.LogicalOperator = logicalValue;
                    }
                    else
                    {
                        Model.Column column = (Model.Column)row.Tag;
                        filterColumn = new Model.Filter.FilterColumn(column, logicalValue, row.Cells[(int)Cells.Comparer].Value.ToString(), column.Name);
                    }
                    Owner.TheFilter.AddFilterColumn(filterColumn);
                }
            }
            return(true);
        }
        public DataGridViewRow AddGridRow(Model.Column column, bool checkedColumnsOnly)
        {
            DataGridViewRow newRow = null;

            Model.Filter.FilterColumn filterColumn = null;

            foreach (ArchAngel.Providers.Database.Model.Filter.FilterColumn filterCol in Owner.TheFilter.FilterColumns)
            {
                if (filterCol.Column.Name == column.Name && filterCol.Column.Parent.Name == column.Parent.Name)
                {
                    filterColumn = filterCol;
                    break;
                }
            }
            if (filterColumn != null)
            {
                if (checkedColumnsOnly)
                {
                    string logicalOperator = filterColumn.LogicalOperator;

                    if (string.IsNullOrEmpty(logicalOperator))
                    {
                        logicalOperator = " ";
                    }
                    int index = gridFilterColumns.Rows.Add(new object[] { true, filterColumn.Column.Parent.Name, filterColumn.Column.Name, filterColumn.Column.Alias, filterColumn.CompareOperator, logicalOperator });
                    gridFilterColumns.Rows[index].Tag = filterColumn;
                    newRow = gridFilterColumns.Rows[index];
                }
            }
            else
            {
                if (!checkedColumnsOnly)
                {
                    int index = gridFilterColumns.Rows.Add(new object[] { false, column.Parent.Name, column.Name, column.Alias, "=", "And" });
                    gridFilterColumns.Rows[index].Tag = column;
                    newRow = gridFilterColumns.Rows[index];
                }
            }
            return(newRow);
        }
Esempio n. 3
0
        public override bool Next()
        {
            Owner.TheFilter.ClearFilterColumns();
            gridFilterColumns.EndEdit();

            foreach (DataGridViewRow row in gridFilterColumns.Rows)
            {
                Model.Filter.FilterColumn filterColumn;

                if ((bool)row.Cells[(int)Cells.Selected].Value)
                {
                    string logicalValue = row.Cells[(int)Cells.Logical].Value == null ? "" : row.Cells[(int)Cells.Logical].Value.ToString().Trim();

                    if (row.Tag is Model.Filter.FilterColumn)
                    {
                        filterColumn = (Model.Filter.FilterColumn)row.Tag;
                        filterColumn.CompareOperator = row.Cells[(int)Cells.Comparer].Value.ToString();
                        filterColumn.LogicalOperator = logicalValue;
                    }
                    else
                    {
                        Model.Column column = (Model.Column)row.Tag;
                        filterColumn = new Model.Filter.FilterColumn(column, logicalValue, row.Cells[(int)Cells.Comparer].Value.ToString(), column.Name);
                    }
                    Owner.TheFilter.AddFilterColumn(filterColumn);
                }
            }
            return true;
        }