Exemplo n.º 1
0
        /// <summary>
        /// 保存到配置文件
        /// </summary>
        public void Save()
        {
            if (string.IsNullOrWhiteSpace(_section))
            {
                return;
            }

            var saveItems = new List <KzxGridDataFilterItem>();

            foreach (var item in _items)
            {
                if (item.IsDataSetFilter ||
                    item.IsDatabaseFilter ||
                    !string.IsNullOrWhiteSpace(item.DataSetParentField))
                {
                    saveItems.Add(item);
                }
            }

            var configValue = KzxGridDataFilterItem.ToConfigValue(saveItems);
            var iniFile     = new IniFileCore(_filePath);

            iniFile.Write(_section, _clearConfigKey, _isClear.ToString());
            iniFile.Write(_section, _filterConfigKey, configValue);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 设置本地数据过滤配置项
        /// </summary>
        /// <param name="item"></param>
        public void Set(KzxGridDataFilterItem item)
        {
            if (item == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(item.FieldName))
            {
                throw new Exception("字段名称不能为空。");
            }

            //if (string.IsNullOrWhiteSpace(item.FieldDesc))
            //    throw new Exception("字段描述不能为空。");

            _isClear = false;

            var configItem = _items.Find(m => m.FieldName == item.FieldName);

            if (configItem == null)
            {
                _items.Add(item);
            }
            else
            {
                configItem.DataSetParentField = item.DataSetParentField;
                configItem.IsDatabaseFilter   = item.IsDatabaseFilter;
                configItem.IsDataSetFilter    = item.IsDataSetFilter;
            }
        }
        /// <summary>
        /// 读取配置
        /// </summary>
        public void Read()
        {
            var iniFile     = new IniFile(_filePath);
            var configValue = iniFile.IniReadValue(_section, _configKey);
            var items       = KzxGridDataFilterItem.ToFilterItems(configValue);

            _items.Clear();
            _items.AddRange(items);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 读取配置
        /// </summary>
        public void Read()
        {
            var iniFile     = new IniFileCore(_filePath);
            var clearValue  = iniFile.Read(_section, _clearConfigKey);
            var filterValue = iniFile.Read(_section, _filterConfigKey);
            var items       = KzxGridDataFilterItem.ToFilterItems(filterValue);

            _items.Clear();
            _items.AddRange(items);

            _isClear = string.Equals("True", clearValue);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 转换为过滤项信息
        /// </summary>
        /// <param name="configValue"></param>
        /// <returns></returns>
        public static List <KzxGridDataFilterItem> ToFilterItems(string configValue)
        {
            if (string.IsNullOrWhiteSpace(configValue))
            {
                return(new List <KzxGridDataFilterItem>());
            }

            var items     = new List <KzxGridDataFilterItem>();
            var filterArr = configValue.Split(',');

            foreach (var filter in filterArr)
            {
                if (string.IsNullOrWhiteSpace(filter))
                {
                    continue;
                }

                var info = filter.Split('|');
                if (info.Length < 4)
                {
                    continue;
                }

                var item = new KzxGridDataFilterItem();
                item.FieldName          = info[0].Trim();
                item.FieldDesc          = info[1].Trim();
                item.IsDataSetFilter    = string.Equals(info[2].Trim(), "True", StringComparison.OrdinalIgnoreCase);
                item.DataSetParentField = info[3].Trim();

                if (info.Length > 4)
                {
                    item.IsDatabaseFilter = string.Equals(info[4].Trim(), "True", StringComparison.OrdinalIgnoreCase);
                }

                if (!string.IsNullOrWhiteSpace(item.FieldName) &&
                    !string.IsNullOrWhiteSpace(item.FieldDesc))
                {
                    var addedItem = items.Find(m => m.FieldName == item.FieldName);
                    if (addedItem == null)
                    {
                        items.Add(item);
                    }
                    else
                    {
                        addedItem.DataSetParentField = item.DataSetParentField;
                        addedItem.IsDatabaseFilter   = item.IsDatabaseFilter;
                        addedItem.IsDataSetFilter    = item.IsDataSetFilter;
                    }
                }
            }

            return(items);
        }