Example #1
0
        /// <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);
        }
Example #2
0
        /// <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;
                }
            }
        }
Example #3
0
 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(), "'");
             }
         }
     }
 }
Example #4
0
        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);
            }
        }