コード例 #1
0
        static private ColumnFilter CreateFilter(string f)
        {
            string[]         fnv = f.Split('=');
            string           name = fnv[0].Trim(), value = fnv[1].Trim();
            ColumnFilterType t = value == bool.TrueString || value == bool.FalseString ? ColumnFilterType.BooleanFilters : ColumnFilterType.StringFilters;

            return(new ColumnFilter {
                ColumnName = name, Type = t, Value = value
            });
        }
コード例 #2
0
        public void SetStorageValues(string name, ColumnFilterType filterType, params object[] values)
        {
            Data data = _values[name] as Data;

            if (data != null)
            {
                data.values     = values;
                data.filterType = filterType;
            }
        }
コード例 #3
0
        public void AddControlParamerter <TSource, TResult>(
            Expression <Func <TSource, TResult> > getValueExpression,
            ColumnFilterType filterType,
            object value)
        {
            var parameterName = getValueExpression.Body.ToString();

            parameterName = parameterName.Remove(0, parameterName.IndexOf(".", StringComparison.InvariantCulture) + 1)
                            + "."
                            + FilterItem.ConvertToFilterType(filterType);
            if (value == null || value is IControl || value is Control || value is string || value is GridHtmlGenerator.Column)
            {
                PropertyValues.Add(parameterName, value);
            }
            else
            {
                PropertyValues.Add(parameterName, value.ToString());
            }
        }
コード例 #4
0
        internal static string ConvertToFilterType(ColumnFilterType value)
        {
            switch (value)
            {
            case Nat.Tools.Filtering.ColumnFilterType.None:
            case Nat.Tools.Filtering.ColumnFilterType.NotSet:
                return("Non");

            case Nat.Tools.Filtering.ColumnFilterType.Equal:
                return("Equals");

            case Nat.Tools.Filtering.ColumnFilterType.NotEqual:
                return("NotEquals");

            case Nat.Tools.Filtering.ColumnFilterType.NotNull:
                return("IsNotNull");

            case Nat.Tools.Filtering.ColumnFilterType.Custom:
                return("Equals");

            case Nat.Tools.Filtering.ColumnFilterType.StartWith:
                return("StartsWith");

            case Nat.Tools.Filtering.ColumnFilterType.EndWith:
                return("EndsWith");

            case Nat.Tools.Filtering.ColumnFilterType.In:
                return("EqualsCollection");

            case Nat.Tools.Filtering.ColumnFilterType.OutOf:
                return("NotEqualsCollection");

            default:
                return(value.ToString());
            }
        }
コード例 #5
0
        private void LoadFiltersState()
        {
            var sid = GetSidBytes();
            // Loading user dependend filters state settings
            // In case there is no user setting apply default settings
            StorageValues storageValues = StorageValues.GetStorageValues(string.Format("{0}_{1}", Page.AppRelativeVirtualPath, ClientID), sid);

            if (storageValues != null)
            {
                foreach (ColumnFilterStorage storage in ColumnFilterStorages)
                {
                    storageValues.SetStorage(storage);
                }
            }
            else
            {
                WebInitializer.Initialize();
                foreach (ColumnFilterStorage storage in ColumnFilterStorages)
                {
                    ColumnFilterType columnFilterType = (ColumnFilterType)(DataSetResourceManager.GetColumnExtProperty(
                                                                               dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_CONDITION) ?? ColumnFilterType.None);
                    if (columnFilterType != ColumnFilterType.None)
                    {
                        if (!dataTable.Columns.Contains(storage.Name))
                        {
                            continue;
                        }
                        object[] values = new object[2];
                        values[0] = DataSetResourceManager.GetColumnExtProperty(dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_VALUE_1) ?? null;
                        values[1] = DataSetResourceManager.GetColumnExtProperty(dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_VALUE_2) ?? null;

                        string codeField = (String)DataSetResourceManager.GetColumnExtProperty(dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_VALUE_CODE_FIELD);

                        if (storage.IsRefBound && !string.IsNullOrEmpty(codeField))
                        {
                            for (int i = 0; i < values.Length; i++)
                            {
                                if (values[i] != null)
                                {
                                    DataTable table = (DataTable)storage.RefDataSource;

                                    QueryConditionList queryConditionList = new QueryConditionList();
                                    QueryCondition     queryCondition     = new QueryCondition(codeField, ColumnFilterType.Equal, values[i], null);
                                    queryConditionList.Add(queryCondition);
                                    Type tableAdapterType = TableAdapterTools.GetTableAdapterType(table.GetType());

                                    QueryGenerator queryGenerator;

                                    if (table.Columns.IndexOf("dateEnd") != -1 && table.Columns.IndexOf("dateStart") != -1)
                                    {
                                        Component adapter = HistoricalData.GetTableAdapterToHistoricalData("dateEnd", "dateStart", DateTime.Now, tableAdapterType, 0);
                                        queryGenerator = new QueryGenerator(adapter);
                                    }
                                    else
                                    {
                                        queryGenerator = new QueryGenerator(table);
                                    }

                                    queryGenerator.TopCount = 1;
                                    queryGenerator.Fill(table, queryConditionList);
                                    if (table.Rows.Count != 0)
                                    {
                                        values[i] = table.Rows[0][storage.ValueColumn];
                                    }
                                }
                            }
                        }
                        storage.FilterType = columnFilterType;
                        try
                        {
                            for (int i = 0; i != 2; i++)
                            {
                                if (values[i] != null)
                                {
                                    storage.SetValue(i, Convert.ChangeType(values[i], storage.DataType));
                                }
                            }
                        }
                        catch (InvalidCastException)
                        {
                        }
                    }
                }
            }
        }
コード例 #6
0
 public Data(object[] values, ColumnFilterType filterType, string[] textValues)
 {
     this.values     = values;
     this.filterType = filterType;
     this.textValues = textValues;
 }
コード例 #7
0
 public Data(object[] values, ColumnFilterType filterType)
 {
     this.values     = values;
     this.filterType = filterType;
 }