public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object objValue) { if (provider != null && context != null) { var serviceProvider = context.Container as IServiceProvider; if (serviceProvider == null) { var componentSite = (context.Instance as IComponent)?.Site; if (componentSite == null) return objValue; serviceProvider = componentSite; } var rootReport = (DesignerExtensions.GetService<IDesignerHost>(serviceProvider).RootComponent as XRControl)?.RootReport; if (rootReport == null) return objValue; var dataContainer = context.Instance as IDataContainer; if (dataContainer == null) return objValue; var form = new FilterStringEditorForm(provider, dataContainer.GetEffectiveDataSource(), dataContainer.DataMember, rootReport.Parameters, rootReport) { FilterString = (string)objValue }; if (DialogRunner.ShowDialog(form, provider) != DialogResult.Cancel) { objValue = form.FilterString; } } return objValue; }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object objValue) { if (provider != null && context != null) { var serviceProvider = context.Container as IServiceProvider; if (serviceProvider == null) { var componentSite = (context.Instance as IComponent)?.Site; if (componentSite == null) { return(objValue); } serviceProvider = componentSite; } var rootReport = (DesignerExtensions.GetService <IDesignerHost>(serviceProvider).RootComponent as XRControl)?.RootReport; if (rootReport == null) { return(objValue); } var dataContainer = context.Instance as IDataContainer; if (dataContainer == null) { return(objValue); } var form = new FilterStringEditorForm(provider, dataContainer.GetEffectiveDataSource(), dataContainer.DataMember, rootReport.Parameters, rootReport) { FilterString = (string)objValue }; if (DialogRunner.ShowDialog(form, provider) != DialogResult.Cancel) { objValue = form.FilterString; } } return(objValue); }