private void PromptSelectDatasource(XRDesignForm form, MyReportBase report)
        {
            Form dialog = null;

            // Datasource Selected Callback
            Action<DesignTimeDataSourceDefinition> callback = (definition) =>
            {
                dialog.Close();

                // Change Report Datasource
                report.ChangeDesignTimeDatasource(definition, this);
            };

            // Create Select Datasource Dialog
            dialog = new SelectDesignTimeDataSourceForm(this, report, callback);
            dialog.BringToFront();
            dialog.ShowDialog();
        }
        public static void PassDesignTimeDataSourceToSubreport(SubreportBase container, MyReportBase subreport, IDesignerContext designContext)
        {
            var parentReport = (MyReportBase)container.RootReport;

            var parentDataSourceItem = parentReport.GetSelectedDesignTimeDatasource();

            if (parentDataSourceItem != null)
            {
                var path = DesignTimeHelper.GetFullDataMemberPath(container.Band);

                var datasourceDefinition = new DesignTimeDataSourceDefinition(parentDataSourceItem.DataSourceName, parentDataSourceItem.DataSourceAssemblyLocationPath, path);

                // Go!
                subreport.ChangeDesignTimeDatasource(datasourceDefinition, designContext);
            }
        }