protected void Page_Load(object sender, EventArgs e) { DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards"); ASPxDashboardExcel.SetDashboardStorage(dashboardFileStorage); // Uncomment the next line to allow users to create new data sources based on predefined connection strings. //ASPxDashboardExcel.SetConnectionStringsProvider(new DevExpress.DataAccess.Web.ConfigFileConnectionStringsProvider()); // Create a data source storage. DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); // Register an Excel data source. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.ConnectionName = "excelDataConnection"; excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")); dataSourceStorage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); // Set the configured data source storage. ASPxDashboardExcel.SetDataSourceStorage(dataSourceStorage); ASPxDashboardExcel.ConfigureDataConnection += ASPxDashboardExcel_ConfigureDataConnection; ASPxDashboardExcel.InitialDashboardId = "dashboardExcel"; }
public static void RegisterService(RouteCollection routes) { routes.MapDashboardRoute("dashboardControl", "DefaultDashboard"); DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards"); DashboardConfigurator.Default.SetDashboardStorage(dashboardFileStorage); // Uncomment this string to allow end users to create new data sources based on predefined connection strings. //DashboardConfigurator.Default.SetConnectionStringsProvider(new DevExpress.DataAccess.Web.ConfigFileConnectionStringsProvider()); DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); // Registers an SQL data source. DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("SQL Data Source", "NWindConnectionString"); SelectQuery query = SelectQueryFluentBuilder .AddTable("SalesPerson") .SelectAllColumns() .Build("Sales Person"); sqlDataSource.Queries.Add(query); dataSourceStorage.RegisterDataSource("sqlDataSource", sqlDataSource.SaveToXml()); // Registers an Excel data source. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.FileName = HostingEnvironment.MapPath(@"~/App_Data/Sales.xlsx"); excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")); dataSourceStorage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); DashboardConfigurator.Default.SetDataSourceStorage(dataSourceStorage); }
public ActionResult AddDataSource(string id, string sheetId, string tableId, string rangeId, string scope) { string name = new PrefixNameGenerator("Google Sheets Source", " ", 1) .GenerateName(n => ((IDataSourceStorage)DashboardConfig.DataSourceStorage).GetDataSourcesID().Contains(n)); ExcelSettingsBase excelSettings = null; if (!string.IsNullOrEmpty(sheetId)) { excelSettings = new ExcelWorksheetSettings(sheetId); } else if (!string.IsNullOrEmpty(tableId)) { excelSettings = new ExcelTableSettings(tableId); } else if (!string.IsNullOrEmpty(rangeId)) { excelSettings = new ExcelDefinedNameSettings(rangeId, scope); } if (excelSettings != null) { var excelDataSource = new DashboardExcelDataSource { Name = name, SourceOptions = new ExcelSourceOptions(excelSettings), StreamDocumentFormat = ExcelDocumentFormat.Xlsx, FileName = id, }; DashboardConfig.DataSourceStorage.RegisterDataSource(name, excelDataSource.SaveToXml()); } return(View("Index")); }
protected void Page_Load(object sender, EventArgs e) { DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards"); ASPxDashboard1.SetDashboardStorage(dashboardFileStorage); DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); using (Workbook workbook = new Workbook()) { Directory .EnumerateFiles(HostingEnvironment.MapPath(@"~/App_Data/ExcelFiles/"), "*.xlsx") .SelectMany(file => { workbook.LoadDocument(file); return(workbook.Worksheets.Select(sheet => { var dataSourceId = string.Format("{0} - {1}", Path.GetFileNameWithoutExtension(file), sheet.Name); var excelDataSource = new DashboardExcelDataSource(dataSourceId); excelDataSource.ConnectionName = dataSourceId; excelDataSource.FileName = file; var worksheetSettings = new ExcelWorksheetSettings() { WorksheetName = sheet.Name }; excelDataSource.SourceOptions = new ExcelSourceOptions(worksheetSettings); return new { Name = excelDataSource.Name, Xml = excelDataSource.SaveToXml() }; })); }) .ToList() .ForEach(ds => dataSourceStorage.RegisterDataSource(ds.Name, ds.Xml)); } ASPxDashboard1.SetDataSourceStorage(dataSourceStorage); }
protected void Page_Load(object sender, EventArgs e) { DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards"); ASPxDashboard1.SetDashboardStorage(dashboardFileStorage); // Uncomment this string to allow end users to create new data sources based on predefined connection strings. //ASPxDashboard1.SetConnectionStringsProvider(new DevExpress.DataAccess.Web.ConfigFileConnectionStringsProvider()); DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); // Registers an SQL data source. DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("SQL Data Source", "NWindConnectionString"); SelectQuery query = SelectQueryFluentBuilder .AddTable("SalesPerson") .SelectAllColumns() .Build("Sales Person"); sqlDataSource.Queries.Add(query); dataSourceStorage.RegisterDataSource("sqlDataSource", sqlDataSource.SaveToXml()); // Registers an Object data source. DashboardObjectDataSource objDataSource = new DashboardObjectDataSource("Object Data Source"); dataSourceStorage.RegisterDataSource("objDataSource", objDataSource.SaveToXml()); // Registers an Excel data source. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.FileName = HostingEnvironment.MapPath(@"~/App_Data/Sales.xlsx"); excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")); dataSourceStorage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); ASPxDashboard1.SetDataSourceStorage(dataSourceStorage); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddDevExpressControls(); services.AddMvc() .AddDefaultReportingControllers() .AddDefaultDashboardController((configurator, serviceProvider) => { configurator.SetConnectionStringsProvider(new DashboardConnectionStringsProvider(Configuration)); DashboardFileStorage dashboardFileStorage = new DashboardFileStorage(FileProvider.GetFileInfo("Data/Dashboards").PhysicalPath); configurator.SetDashboardStorage(dashboardFileStorage); DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); // Registers an SQL data source. DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("SQL Data Source", "NWindConnectionString"); sqlDataSource.DataProcessingMode = DataProcessingMode.Client; SelectQuery query = SelectQueryFluentBuilder .AddTable("Categories") .Join("Products", "CategoryID") .SelectAllColumns() .Build("Products_Categories"); sqlDataSource.Queries.Add(query); dataSourceStorage.RegisterDataSource("sqlDataSource", sqlDataSource.SaveToXml()); // Registers an Object data source. DashboardObjectDataSource objDataSource = new DashboardObjectDataSource("Object Data Source"); dataSourceStorage.RegisterDataSource("objDataSource", objDataSource.SaveToXml()); // Registers an Excel data source. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.FileName = FileProvider.GetFileInfo("Data/Sales.xlsx").PhysicalPath; excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")); dataSourceStorage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); configurator.SetDataSourceStorage(dataSourceStorage); configurator.DataLoading += (s, e) => { if (e.DataSourceName == "Object Data Source") { e.Data = Invoices.CreateData(); } }; }); services.ConfigureReportingServices(configurator => { configurator.ConfigureReportDesigner(designerConfigurator => { designerConfigurator.RegisterDataSourceWizardConfigFileConnectionStringsProvider(); }); }); services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/dist"; }); }
public static void ConfigureDataSource(DashboardConfigurator configurator, DataSourceInMemoryStorage storage) { // Registers an Excel data source. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.ConnectionName = "excelDataConnection"; excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")); storage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); configurator.ConfigureDataConnection += Configurator_ConfigureDataConnection; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services .AddCors(options => { options.AddPolicy("CorsPolicy", builder => { builder.WithOrigins("http://localhost:4200"); builder.WithMethods(new String[] { "GET", "POST" }); builder.WithHeaders("Content-Type"); }); }) .AddResponseCompression() .AddDevExpressControls() .AddMvc() .AddDefaultDashboardController((configurator, serviceProvider) => { configurator.SetConnectionStringsProvider(new DashboardConnectionStringsProvider(Configuration)); DashboardFileStorage dashboardFileStorage = new DashboardFileStorage(FileProvider.GetFileInfo("Data/Dashboards").PhysicalPath); configurator.SetDashboardStorage(dashboardFileStorage); DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); // Registers an SQL data source. DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("SQL Data Source", "NWindConnectionString"); sqlDataSource.DataProcessingMode = DataProcessingMode.Client; SelectQuery query = SelectQueryFluentBuilder .AddTable("Categories") .Join("Products", "CategoryID") .SelectAllColumns() .Build("Products_Categories"); sqlDataSource.Queries.Add(query); dataSourceStorage.RegisterDataSource("sqlDataSource", sqlDataSource.SaveToXml()); // Registers an Object data source. DashboardObjectDataSource objDataSource = new DashboardObjectDataSource("Object Data Source"); dataSourceStorage.RegisterDataSource("objDataSource", objDataSource.SaveToXml()); // Registers an Excel data source. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.FileName = FileProvider.GetFileInfo("Data/Sales.xlsx").PhysicalPath; excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")); dataSourceStorage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); configurator.SetDataSourceStorage(dataSourceStorage); configurator.DataLoading += (s, e) => { if (e.DataSourceName == "Object Data Source") { e.Data = Invoices.CreateData(); } }; }); }
protected void Page_Load(object sender, EventArgs e) { DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards"); ASPxDashboard1.SetDashboardStorage(dashboardFileStorage); // Creates an Excel data source and selects the specific cell range from the SalesPerson worksheet. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.ConnectionName = "xlsProducts"; excelDataSource.FileName = HostingEnvironment.MapPath(@"~/App_Data/ExcelDataSource.xlsx"); ExcelWorksheetSettings worksheetSettings = new ExcelWorksheetSettings("SalesPerson", "A1:L2000"); excelDataSource.SourceOptions = new ExcelSourceOptions(worksheetSettings); // Specifies the fields that will be available for the created data source. IExcelSchemaProvider schemaProvider = excelDataSource.GetService(typeof(IExcelSchemaProvider)) as IExcelSchemaProvider; FieldInfo[] availableFields = schemaProvider.GetSchema(excelDataSource.FileName, null, ExcelDocumentFormat.Xlsx, excelDataSource.SourceOptions, System.Threading.CancellationToken.None); List <string> fieldsToSelect = new List <string>() { "CategoryName", "ProductName", "Country", "Quantity", "Extended Price" }; foreach (FieldInfo field in availableFields) { if (fieldsToSelect.Contains(field.Name)) { excelDataSource.Schema.Add(field); } else { field.Selected = false; excelDataSource.Schema.Add(field); } } // Adds the created data source to the data source storage. DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); dataSourceStorage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); ASPxDashboard1.SetDataSourceStorage(dataSourceStorage); }
public CustomDataSourceStorage() { DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource(sqlDataSourceId, "sqlCategories"); SelectQuery query = SelectQueryFluentBuilder .AddTable("Categories") .SelectAllColumnsFromTable() .Build("Categories"); query.Parameters.Add(new QueryParameter("CategoryNameStartsWith", typeof(DevExpress.DataAccess.Expression), new DevExpress.DataAccess.Expression("[Parameters.CategoryPattern]"))); sqlDataSource.Queries.Add(query); DashboardJsonDataSource jsonDataSource = new DashboardJsonDataSource(jsonDataSourceId) { RootElement = "Customers", ConnectionName = "jsonCustomers" }; DashboardObjectDataSource objDataSource = new DashboardObjectDataSource(odsDataSourceId) { DataId = "odsSales" }; DashboardOlapDataSource olapDataSource = new DashboardOlapDataSource(olapDataSourceId, "olapAdventureWorks"); DashboardExtractDataSource extractDataSource = new DashboardExtractDataSource(extractDataSourceId) { ConnectionName = "extractSalesPerson" }; DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource(excelDataSourceId) { ConnectionName = "excelSales", SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")) }; DashboardEFDataSource efDataSource = new DashboardEFDataSource(efDataSourceId, new EFConnectionParameters(typeof(NorthwindDbContext))); documents[sqlDataSourceId] = new XDocument(sqlDataSource.SaveToXml()); documents[jsonDataSourceId] = new XDocument(jsonDataSource.SaveToXml()); documents[odsDataSourceId] = new XDocument(objDataSource.SaveToXml()); documents[olapDataSourceId] = new XDocument(olapDataSource.SaveToXml()); documents[extractDataSourceId] = new XDocument(extractDataSource.SaveToXml()); documents[excelDataSourceId] = new XDocument(excelDataSource.SaveToXml()); documents[efDataSourceId] = new XDocument(efDataSource.SaveToXml()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); ModelBinders.Binders.DefaultBinder = new DevExpressEditorsBinder(); AccessSettings.StaticResources.TrySetRules(DirectoryAccessRule.Allow()); // See https://documentation.devexpress.com/Dashboard/DevExpress.DashboardWeb.DashboardFileStorage.class //DashboardConfigurator.Default.SetDashboardStorage(new DashboardFileStorage(@"~/App_Data/Dashboards")); DashboardConfigurator.Default.SetDashboardStorage(PublicDemo.SessionDashboardStorage.Instance);// this code based on DevExpress demo DashboardExcelDataSource ds = new DashboardExcelDataSource("Excel Data Source"); ds.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("List")); ds.FileName = @"|DataDirectory|Data\PresidentsData.xlsx"; DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); dataSourceStorage.RegisterDataSource("dashboardExcelDataSource1", ds.SaveToXml()); DashboardConfigurator.Default.SetDataSourceStorage(dataSourceStorage); }
public static void RegisterService(RouteCollection routes) { routes.MapDashboardRoute("dashboardControl", "DefaultDashboard"); DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards"); DashboardConfigurator.Default.SetDashboardStorage(dashboardFileStorage); DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage(); // Registers an SQL data source. DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("SQL Data Source", "NWindConnectionString"); SelectQuery query = SelectQueryFluentBuilder .AddTable("SalesPerson") .SelectAllColumns() .Build("Sales Person"); sqlDataSource.Queries.Add(query); dataSourceStorage.RegisterDataSource("sqlDataSource", sqlDataSource.SaveToXml()); // Registers an Object data source. DashboardObjectDataSource objDataSource = new DashboardObjectDataSource("Object Data Source"); objDataSource.DataId = "odsInvoices"; dataSourceStorage.RegisterDataSource("objDataSource", objDataSource.SaveToXml()); // Registers an Excel data source. DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source"); excelDataSource.ConnectionName = "xlsSales"; excelDataSource.FileName = HostingEnvironment.MapPath(@"~/App_Data/Sales.xlsx"); excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1")); dataSourceStorage.RegisterDataSource("excelDataSource", excelDataSource.SaveToXml()); DashboardConfigurator.Default.SetDataSourceStorage(dataSourceStorage); DashboardConfigurator.Default.DataLoading += DataLoading; }
static IDashboardDataSource CreateDataSourceCopy(IDashboardDataSource dataSourceToCopy) { DashboardEFDataSource efDataSource = dataSourceToCopy as DashboardEFDataSource; if (efDataSource != null) { XElement element = efDataSource.SaveToXml(); DashboardEFDataSource newDataSource = new DashboardEFDataSource(); newDataSource.LoadFromXml(element); newDataSource.Fill(); return(newDataSource); } DashboardExcelDataSource excelDataSource = dataSourceToCopy as DashboardExcelDataSource; if (excelDataSource != null) { XElement element = excelDataSource.SaveToXml(); DashboardExcelDataSource newDataSource = new DashboardExcelDataSource(); newDataSource.LoadFromXml(element); newDataSource.Fill(); return(newDataSource); } DashboardExtractDataSource extractDataSource = dataSourceToCopy as DashboardExtractDataSource; if (extractDataSource != null) { XElement element = extractDataSource.SaveToXml(); DashboardExtractDataSource newDataSource = new DashboardExtractDataSource(); newDataSource.LoadFromXml(element); return(newDataSource); } DashboardObjectDataSource objectDataSource = dataSourceToCopy as DashboardObjectDataSource; if (objectDataSource != null) { XElement element = objectDataSource.SaveToXml(); DashboardObjectDataSource newDataSource = new DashboardObjectDataSource(); newDataSource.LoadFromXml(element); newDataSource.Fill(); return(newDataSource); } DashboardOlapDataSource olapDataSource = dataSourceToCopy as DashboardOlapDataSource; if (olapDataSource != null) { XElement element = olapDataSource.SaveToXml(); DashboardOlapDataSource newDataSource = new DashboardOlapDataSource(); newDataSource.LoadFromXml(element); newDataSource.Fill(); return(newDataSource); } DashboardSqlDataSource sqlDataSource = dataSourceToCopy as DashboardSqlDataSource; if (sqlDataSource != null) { XElement element = sqlDataSource.SaveToXml(); DashboardSqlDataSource newDataSource = new DashboardSqlDataSource(); newDataSource.LoadFromXml(element); newDataSource.Fill(); return(newDataSource); } return(null); }