/// <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); }
/// <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); }
/// <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); }
/// <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); }