示例#1
0
        // Handle parsing of function in final pass
        override internal void FinalPass()
        {
            base.FinalPass();
            _Value.FinalPass();

            if (this.DataElementName == null && this.Name == null)
            {
                // no name or dataelementname; try using expression
                FunctionField ff = _Value.Expr as FunctionField;
                if (ff != null && ff.Fld != null)
                {
                    this.DataElementName = ff.Fld.DataField;
                }
            }

            if (_ToggleImage != null)
            {
                _ToggleImage.FinalPass();
            }

            if (_HideDuplicates != null)
            {
                object o = OwnerReport.LUAggrScope[_HideDuplicates];
                if (o == null)
                {
                    OwnerReport.rl.LogError(4, "HideDuplicate '" + _HideDuplicates + "' is not a Group or DataSet name.   It will be ignored.");
                    _HideDuplicates = null;
                }
                else if (o is Grouping)
                {
                    Grouping g = o as Grouping;
                    g.AddHideDuplicates(this);
                }
                else if (o is DataSetDefn)
                {
                    DataSetDefn ds = o as DataSetDefn;
                    ds.AddHideDuplicates(this);
                }
            }
            return;
        }