/// <summary> /// 获得编辑好的条件对象 /// </summary> /// <returns></returns> public CombineFilterCondition GetConditon() { CombineFilterCondition Result = new CombineFilterCondition(); foreach (TreeNode Node in tViewFilters.Nodes) { FilterCondition filter = Node.Tag as FilterCondition; Result.FilterConditions.Add(filter); } return(Result); }
/// <summary> /// 初始化条件对象 /// </summary> /// <param name="Condition"></param> public void SetCondition(CombineFilterCondition Condition) { _Condition = Condition; if (_Condition != null) { tViewFilters.Nodes.Clear(); foreach (FilterCondition filter in _Condition.FilterConditions) { TreeNode Node = new TreeNode(); tViewFilters.Nodes.Add(Node); Node.Name = filter.ToString(); Node.Text = Node.Index > 0 ? filter.ToString() : filter.ToString().Substring(filter.ToString().IndexOf(' ')).Trim(); Node.Tag = filter; } } }
private void AnalysisParameters(CombineFilterCondition DataFilter, Hashtable Parameters) { foreach (FilterCondition Filter in DataFilter.FilterConditions) { if (Filter.RightItem.Style == FilterStyle.Parameter) { ReportParameter Parameter = Parameters[Filter.RightItem.ParameterName] as ReportParameter; if (Filter.CompareOperation.ToString() == CompareOperation.属于.ToString() || Filter.CompareOperation.ToString() == CompareOperation.属于.ToString()) { Filter.RightItem.ParameterName = string.Concat("('", Parameter.Value.ToString().Replace(",", "','"), "')"); } else if (Filter.CompareOperation.ToString() == CompareOperation.等于.ToString() || Filter.CompareOperation.ToString() == CompareOperation.等于.ToString() || Filter.CompareOperation.ToString() == CompareOperation.大于.ToString() || Filter.CompareOperation.ToString() == CompareOperation.大于或等于.ToString() || Filter.CompareOperation.ToString() == CompareOperation.小于.ToString() || Filter.CompareOperation.ToString() == CompareOperation.小于或等于.ToString()) { Filter.RightItem.ParameterName = string.Concat("'", Parameter.Value.ToString(), "'"); } } } }
private void DataSourceFilterDialog_Load(object sender, EventArgs e) { filterControl.cBoxValueColumn.Items.Clear(); for (int i = 0; i < Source.GetColumnCount(); i++) { FieldInfo Info = new FieldInfo(); Info.FieldName = Source.GetColumnName(i); Info.FieldDescription = Source.GetColumnText(i); Info.FieldDataType = Source.GetColumnType(i).Name; filterControl.cBoxValueColumn.Items.Add(Info); } if (filterControl.cBoxValueColumn.Items.Count > 0) { filterControl.cBoxValueColumn.SelectedIndex = 0; } //加载当前报表的参数 filterControl.cBox_Parameters.Items.Clear(); List <ReportParameter> ReportParameters = DepositoryReportParameter.getReportParameters(ReportIndex); filterControl.cBox_Parameters.Items.AddRange(ReportParameters.ToArray()); //加载数据表的筛选条件 TreeView FilterView = filterControl.tViewFilters; CombineFilterCondition DataFilter = Source.DataFilter; foreach (FilterCondition Filter in DataFilter.FilterConditions) { TreeNode Node = new TreeNode(); Node.Name = Filter.ToString(); Node.Text = FilterView.Nodes.Count == 0 ? Filter.ToString().Replace(Filter.Operation.ToString(), "") : Filter.ToString(); Node.Tag = Filter; FilterView.Nodes.Add(Node); } }