コード例 #1
0
ファイル: Pager.cs プロジェクト: ds112/hbase-on-windows
 /// <summary>
 /// Applies the filter to the Engine.
 /// </summary>
 public void Apply()
 {
     if (_tableDescriptor != null && _recordFilters != null)
     {
         _tableDescriptor.RecordFilters.InitializeFrom(_recordFilters);
     }
     _recordFilters = null;
 }
コード例 #2
0
ファイル: Pager.cs プロジェクト: ds112/hbase-on-windows
        /// <summary>
        /// A method that applies (All) type filtering to the column.
        /// </summary>
        /// <remarks>Resets the filter applied to that column.</remarks>
        public void SelectAll()
        {
            _tableDescriptor = _engine.TableDescriptor;//identity.Table.TableDescriptor;
            _recordFilters   = new RecordFilterDescriptorCollection();
            _recordFilters.InitializeFrom(_tableDescriptor.RecordFilters);
            var removefdc = GetFilters(_recordFilters, _identity);

            if (removefdc == null)
            {
                return;
            }
            foreach (var rfd in removefdc)
            {
                _recordFilters.Remove(rfd);
            }
        }
コード例 #3
0
ファイル: Pager.cs プロジェクト: ds112/hbase-on-windows
        /// <summary>
        /// A method that applies specific item filtering to the column.
        /// </summary>
        /// <param name="index">selected index</param>
        public void SelectItem(int index)
        {
            var filterName = GetUniqueColumnGroupId(_identity);

            _tableDescriptor = _engine.TableDescriptor;//identity.Table.TableDescriptor;
            _recordFilters   = new RecordFilterDescriptorCollection();
            _recordFilters.InitializeFrom(_tableDescriptor.RecordFilters);

            var items = GetFilterBarChoices(_identity);

            ////check to see if list was shortened after index was set
            if (index >= items.GetLength(0))
            {
                return;
            }

            var value = items[index];

            var removefdc = GetFilters(_recordFilters, _identity);

            if (removefdc != null)
            {
                foreach (var rfd in removefdc)
                {
                    _recordFilters.Remove(rfd);
                }
            }

            var newFilter = new RecordFilterDescriptor
            {
                Name          = filterName,
                MappingName   = _identity.Column.MappingName,
                UniqueGroupId = GetUniqueGroupId(_identity)
            };

            newFilter.Conditions.Add(new FilterCondition(FilterCompareOperator.Equals, value));
            _recordFilters.Add(newFilter);
        }
コード例 #4
0
ファイル: Pager.cs プロジェクト: ds112/hbase-on-windows
        /// <summary>
        /// A method that returns filter collection applied so far to the respective column.
        /// </summary>
        /// <param name="recordFilters">Filtercollection</param>
        /// <param name="tableCellIdentity">StyleInfoIdentity</param>
        /// <returns>Collection of filters.</returns>
        private IEnumerable <RecordFilterDescriptor> GetFilters(RecordFilterDescriptorCollection recordFilters, GridTableCellStyleInfoIdentity tableCellIdentity)
        {
            var rfdc = recordFilters.GetRecordFilters(tableCellIdentity.Column.MappingName);

            if (rfdc != null)
            {
                var uniqueId = tableCellIdentity.DisplayElement.ParentGroup.UniqueGroupId;
                var rfdList  = new ArrayList();
                foreach (var rfd in rfdc)
                {
                    if (rfd.CompareUniqueId(uniqueId))
                    {
                        rfdList.Add(rfd);
                    }
                }

                if (rfdList.Count > 0)
                {
                    return((RecordFilterDescriptor[])rfdList.ToArray(typeof(RecordFilterDescriptor)));
                }
            }
            return(null);
        }