示例#1
0
        protected internal override void PerformBind(ReportControl obj)
        {
            if (obj == null)
            {
                throw new ArgumentNullException(nameof(obj));
            }

            var source = this.DataSource;

            if (source == null)
            {
                var newSource = DataBindingContext.Peek();
                source = newSource as DataSourceBrowser;
                if (source == null)
                {
                    source = new ObjectDataSourceBrowser(newSource);
                }
            }

            object value      = source.GetValue(this.Expression);
            var    objectType = obj.GetType();
            var    setter     = GetWriter(objectType);

            setter(obj, this.PropertyName, value);
        }
        protected internal override void PerformBind(ReportControl reportControl)
        {
            var source = this.DataSource;

            if (source == null)
            {
                var newSource = DataBindingContext.Peek();
                source = newSource as DataSourceBrowser;
                if (source == null)
                {
                    source = new ObjectDataSourceBrowser(newSource);
                }
            }

            this.ExpressionEvaluator.Evaluate(new EvaluationContext
            {
                Target     = reportControl,
                Expression = this.Expression,
                Source     = source.Current
            });
        }
 public PropertyBindingCollection(ReportControl owner)
     : this()
 {
     this.owner = owner;
 }
 protected internal abstract void PerformBind(ReportControl reportControl);