示例#1
0
        public void Init(FlexDesignerHostServices services, object propOwner, string propName, object value, bool supportExpression)
        {
            _propOwner     = propOwner;
            _propName      = propName;
            _pictureHolder = value as PictureHolder ?? PictureHolder.FromObject(null, null);
            _services      = services;
            if (_services != null)
            {
                var grs = _services.GetService(typeof(IGetReportsService)) as IGetReportsService;
                if (grs != null)
                {
                    _report = grs.Report;
                }
            }

            _canExpression = supportExpression && _report != null;
            if (_services != null)
            {
                var scriptService = _services.GetScriptEditorService();
                _canEditScript = _canExpression && scriptService != null;
            }
            else
            {
                _canEditScript = false;
            }
            UpdateUI();
        }
示例#2
0
        public void Init(FlexDesignerHostServices provider, ReportParameter parameter)
        {
            _provider = provider;

            var grs = _provider.GetService(typeof(IGetReportsService)) as IGetReportsService;

            Debug.Assert(grs != null);
            _report = grs.Report;

            _updating = true;
            PopulateDataSourceNames();
            var binding = parameter.AllowedValuesDefinition.Binding;

            svecLabel.Init(provider, binding.DataSourceName, parameter.Name + ".AllowedValuesDefinition.Binding.LabelExpression");
            svecValue.Init(provider, binding.DataSourceName, parameter.Name + ".AllowedValuesDefinition.Binding.ValueExpression");
            svecLabel.Enabled = svecValue.Enabled = !string.IsNullOrEmpty(binding.DataSourceName);

            cmbDataSourceName.Value = binding.DataSourceName;
            svecLabel.Expression    = binding.LabelExpression;
            svecValue.Expression    = binding.ValueExpression;
            _updating = false;
        }