Quantcast
Channel: DevExpress Support Center (Examples)
Viewing all 7205 articles
Browse latest View live

How to specify SVG images manually


ASPxFileManager - How to implement a custom provider with Azure File storage/ File Service

$
0
0

This example describes how to use our file manager control with the Azure File storage  / File Service. The main idea is to create a custom file system provider and use Azure SDK to implement all required operations. As a starting point, it is possible to use the Get started with Azure File storage on Windows Microsoft documentation.

To run the example, define the AccountName, KeyValue, and FileShare constants with your credentials in the AzureFileStorageProvider class.

Please note that the Azure Blob Storage is supported in our ASPxFileManager by default. You can review our Demo, where it is shown how to configure the file manager in this case.

See also:
ASPxFileManager - How to implement a List data bound custom file system provider
ASPxFileManager - How to implement a LINQ to SQL based file system provider

Question Comments

Added By: Michael Miale at: 3/5/2018 7:27:56 AM    Do you have an example similar to this one to implement a custom provider for a SharePoint 2013 document library using the SharePoint client API?

How to reuse XAF Audit Trail module functionality in a non-XAF WinForms application

$
0
0

The XAF Audit Trail module is intended to track changes being made in persistent objects. This module uses the AuditTrailService class to track changes and write them to the database. It is possible to use this API in a non-XAF application based on XPO, without creating and configuring the DevExpress.ExpressApp > XafApplication object as it is usually done in XAF apps. 

To use these features of the Audit Trial module, you will need to reference the DevExpress.Persistent.BaseImpl and DevExpress.Persistent.Base assemblies, which are part of the standard XAF delivery package. 

Important notes:
1. You need to have a valid license for the eXpressApp Framework to use this example.
2. AuditTrailService cannot be used with ExplicitUnitOfWork. Use UnitOfWork or Session classes to audit data through AuditTrailService. AuditTrailService creates a new session to save audit records based on the data layer of the audited session. So, the data layer becomes shared among this new temporary session and ExplicitUnitOfWork. This violates the "exclusive owner of the database connection" requirement of ExplicitUnitOfWork.

 

See Also:
Audit Trail Module Overview
How to reuse XAF Audit Trail module functionality in a non-XAF ASP.NET application
How to track changes made to persistent objects, and write them into a separate table

Question Comments

Added By: Scott Gross at: 4/23/2015 9:45:02 AM    

CANNOT use ExplicitUnitOfWork with the Audit Trail Module:
See: https://www.devexpress.com/Support/Center/Question/Details/T205670

Added By: Miguel A Iglesias at: 3/5/2018 3:35:34 PM    If I'm reading the sample code correctly it seems to reference a single persistent object (PersistentObject1).

1. Am I correct to assume that I would replace PersistentObject1 with the persistent object I will be using/updating?

2. What if I have more than one persistent object I wish to update? Do I call the following code multiple times?
session1.Dictionary.GetDataStoreSchema(typeof(PersistentObject1).Assembly);
session1.Dictionary.GetDataStoreSchema(typeof(PersistentObject2).Assembly);
session1.Dictionary.GetDataStoreSchema(typeof(PersistentObject3).Assembly);

3. If PersistentObject2 is a child collection of PersistentObject1 is it sufficient to just Call GetDataStoreSchema for PersistentObject1?

Thanks,
Miguel

ASPxTreeList - How to create an external filter and highlighting search text

$
0
0

The example demonstrates how to implement an external filter for the ASPxTreeList control and highlight the search text. To accomplish this, use the ASPxTreeList.HtmlDataCellPrepared event to highlight a cell text according to the filter criteria.
NOTE: The "LastName" field is used for filtering.

See also:
E2408: ASPxGridView - creating external filter with the ASPxTextBox and highlighting search text

Question Comments

Added By: Omesis SA de CV at: 11/7/2013 10:36:47 AM    

is it possible to use this external filter using paging in aspxtreelist?

Added By: Les Brinkworth at: 10/4/2017 6:31:01 AM    Testing this in Edge Browser, "Run Online"  ... Does not work???Added By: Les Brinkworth at: 10/4/2017 6:33:36 AM    Doesn't work in Chrome either....Added By: Paul V (DevExpress Support) at: 10/5/2017 3:59:39 AM    

Hello, 

I've created a separate ticket on your behalf and suggest you continue discussing this issue in the context of this thread: T562012: E4029 example doesn't work in the Edge browser. I will answer you there shortly.

How to customize the popup menu

OBSOLETE: How to improve the performance of the PivotGridControl when working with a large data source

$
0
0

The best solution to display calculations based on the huge amount of data within the PivotgridControl or ASPxPivotGrid is to create the OLAP Cube and perform all calculations on the SQL server side.

If you cannot use OLAP data source, I suggest you use PivotGrid in the server mode. In version 14.2 we have introduced the server mode support in PivotGrid, thus the approach described in this example is not actual any more. We have added the Obsolete prefix to emphasize this statement. To enable Server Mode, use the following components depending on the target platform:
-  ASP.Net - EntityServerModeDataSource and LinqServerModeDataSource;
-  Windows Forms - EntityServerModeSource and LinqServerModeSource;
-  WPF - EntityServerModeDataSource and LinqServerModeDataSource.

In previous versions it's possible to slightly improve the performance when the PivotgridControl or ASPxPivotGrid is bound to the DataSet. The main idea is to group data when retrieving them from the database. This way, calculations performed on the client side will be reduced, and the pivot grid will load and sort data faster. In this instance, it's necessary to update the data source each time the user moves fields between areas. Otherwise, the pivot grid will display incorrect values.

This example demonstrates how to implement this in a simple case.

See Also:
Analysis Services
Binding to an OLAP Server
How to improve the PivotGrid performance
Any way to improve performance for PivotGrid when using EntityFramework CodeFirst?

Question Comments

Added By: Lipo at: 3/12/2013 9:29:56 AM    

I'm trying to run the example code you provided but it seems that some changes should be applied in order for it to work. Can you please specify the changes or prerequisites required for this code to run successfully.

Added By: Sean Winstead 2 at: 12/24/2014 12:15:26 PM    

I made use of this example in our own code. But I think the Count aggregation doesn't work as expected in certain situations. For example, let's say the report needs to show the # of jobs. The summary type of the field is set to Count. The dynamically-created query includes COUNT(JobID) and the result set includes 3 rows:

Row 1, COUNT(JobID) = 1
Row 2, COUNT(JobID) = 2
Row 3, COUNT(JobID) = 1

The sum of the counts is 4 which is the correct # of Jobs.

But let's say the grid has to perform additional grouping and in our example all 3 rows are combined into one row in the grid. In this case, the grid will display the number of rows (i.e., 3) instead of summing the rows. So the # of jobs is understated by 1 in the rendered report.

Any advice on how to work around this?

Added By: John (DevExpress Support) at: 12/24/2014 11:04:59 PM    Hi Sean,
I have created a separate ticket for this your question: Count summary is calculated incorrectly when data is grouped when retrieving it from the database. Let's continue the conversation there.Added By: arjun khadka 1 at: 3/6/2018 7:58:42 AM    I think the example help me a lot  but i have couple of question.Now since the data are fetch at the aggregate level, how to sync data being entered in the pivot grid itself?. I mean if you enter data in the grid those data has to be written back to table at detail level instead of aggregate level. Please let me know how can this be achieve?Added By: John (DevExpress Support) at: 3/6/2018 8:02:46 AM    

Hi Arjun,

I've created a separate ticket for your question on your behalf (T612962: How to write changed data back to the table at detail level ). It has been placed in our processing queue and will be answered shortly.

How to implement the ItemsSource property for the LayoutGroup/LayoutControl control

$
0
0

LayoutGroup/LayoutControl doesn't have the built-in ItemsSource property. In this example, we demonstrated how to provide this functionality using a custom behavior class. This behavior generates LayoutItem controls when the associated collection is changed and adds them to the Children collection of the associated control.

Question Comments

Added By: Andrew Cope 2 at: 1/2/2018 3:46:31 AM    I had to override the OnAttached() event:
[C#]
protectedoverridevoidOnAttached(){base.OnAttached();ArrangeChildren();}
And you also need a guard on ArrangeChildren():
[C#]
{if(AssociatedObject==null)return;

Without this ArrangeChildren() was only called once and it was before AssociatedObject had been set.

Although so far it hasn't actually solved my problem anyway - the controls haven't lined up :-/ Added By: Ivan (DevExpress Support) at: 1/3/2018 1:32:12 AM    

Hi Andrew,
Your approaches are absolutely correct. I have updated this example to apply them and slightly changed the implementation to make it possible to attach our custom behavior to individual groups. It is now unnecessary to obtain groups by their names, and you also can populate multiple groups within your LayoutControl dynamically.
As for the last issue, please check if it exists in the updated example and let me know your results.

Added By: Andrew Cope 2 at: 1/24/2018 6:43:38 AM    Unfortunately there's another bug here :)

RearrangeChildren() is too indiscriminate when it responds to a .Reset event - it clears down everything as well as any items you have added. In my case I ended up with an almost empty view :) I modified my version to only remove FrameworkElements where the DataContext was set appropriately. In my case the DataContext is of type ButtonDescriptor:
[C#]
if(e.Action==NotifyCollectionChangedAction.Reset){varunwantedItems=newList<FrameworkElement>();foreach(varchildinAssociatedObject.Children){if(childisFrameworkElementelement){if(element.DataContextisButtonDescriptor)unwantedItems.Add(element);}}foreach(varunwantedIteminunwantedItems){AssociatedObject.Children.Remove(unwantedItem);}}

Added By: Andrew Cope 2 at: 1/24/2018 6:58:07 AM    Oh, and yes, my other problem was resolved. It was another problem entirely :)Added By: Ivan (DevExpress Support) at: 1/25/2018 4:59:51 AM    Indeed, this approach is too aggressive and assumes that all items are generated from the ItemsSource collection. Thank you for sharing your final solution with us :)Added By: Bob Sleys at: 3/6/2018 8:46:01 AM    I am attempting to make use of this but am having trouble in the items in the groups aren't arranged properly.  I'm getting all the items added and can even adjust them via databound properties, ie Horizontal/Vertical, input type by datatemplates etc.  I just can't get the alignment and sizing to work correctly.

Screen Shot

Notice in the above screen shot the labels aren't uniform in size in a group resulting in the inputs being jagged.

My XAML is:
[XAML]
<UserControlx:Class="ES_Desktop.Views.Policy.Forms.FormView"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"xmlns:conv="clr-namespace:ES_Inf.WPF.Converters;assembly=ES-Inf"xmlns:helper="clr-namespace:ES_Inf.WPF.Helpers;assembly=ES-Inf"xmlns:vm="clr-namespace:ES_Desktop.ViewModels.Policy.Forms"xmlns:local="clr-namespace:ES_Desktop.Views.Policy.Forms"xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"mc:Ignorable="d"d:DesignHeight="800"d:DesignWidth="600"d:DataContext="{dxmvvm:ViewModelSource Type={x:Type vm:FormViewModel}}"><UserControl.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionarySource="/ES-Desktop;component/Themes/ControlStyles.xaml"/></ResourceDictionary.MergedDictionaries><DataTemplateDataType="{x:Type TypeName=vm:CardViewModel}"><dxlc:LayoutGroupHeader="{Binding Caption}"Orientation="{Binding Path=FormSection.Vertical, Converter={conv:VertBoolToOrientation}}"ScrollBars="Auto"HorizontalAlignment="Left"VerticalAlignment="Top"View="GroupBox"><dxmvvm:Interaction.Behaviors><helper:ItemsSourceHelperItemsSource="{Binding QuestionViewModels}"/></dxmvvm:Interaction.Behaviors><dxlc:LayoutGroup.GroupBoxStyle><StyleTargetType="dxlc:GroupBox"><Style.Triggers><DataTriggerBinding="{Binding FormSection.HideTitle}"Value="true"><SetterProperty="TitleVisibility"Value="Collapsed"/><SetterProperty="Padding"Value="0"/></DataTrigger></Style.Triggers></Style></dxlc:LayoutGroup.GroupBoxStyle></dxlc:LayoutGroup></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:TableViewModel}"><local:TableView/></DataTemplate><StyleTargetType="dxlc:LayoutItem"><SetterProperty="LabelPosition"Value="{Binding LabelPosition}"/><SetterProperty="AddColonToLabel"Value="True"/><SetterProperty="Visibility"Value="{Binding HideInput, Converter={StaticResource InverseBooleanToVisibilityConverter}}"/><SetterProperty="LabelTemplate"><Setter.Value><DataTemplate><TextBlockText="{Binding}"/></DataTemplate></Setter.Value></Setter><Style.Triggers><DataTriggerBinding="{Binding HideLabel}"Value="False"><SetterProperty="Label"Value="{Binding FormQuestion.ScreenLabel}"/></DataTrigger></Style.Triggers></Style><DataTemplateDataType="{x:Type TypeName=vm:StringQuestionViewModel}"><dxe:TextEditWidth="{Binding ScreenWidth}"EditValue="{Binding Var.Value}"IsReadOnly="{Binding FormQuestion.ReadOnly}"/></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:CurrencyQuestionViewModel}"><dxe:SpinEditDisplayFormatString="{Binding FormQuestion.FormatString}"Increment="{Binding Increment}"EditValue="{Binding Var.Value}"Width="{Binding ScreenWidth}"IsReadOnly="{Binding FormQuestion.ReadOnly}"/></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:BooleanQuestionViewModel}"><dxe:CheckEditVerticalAlignment="Center"HorizontalAlignment="Left"EditValue="{Binding Var.Value}"IsReadOnly="{Binding FormQuestion.ReadOnly}"/></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:CalculatedQuestionViewModel}"/><DataTemplateDataType="{x:Type TypeName=vm:DateQuestionViewModel}"><dxe:DateEditWidth="{Binding ScreenWidth}"EditValue="{Binding Var.Value}"IsReadOnly="{Binding FormQuestion.ReadOnly}"/></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:IntegerQuestionViewModel}"><dxe:TextEditWidth="{Binding ScreenWidth}"MaskType="Numeric"Mask="n0"EditValue="{Binding Var.Value}"IsReadOnly="{Binding FormQuestion.ReadOnly}"/></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:PhoneQuestionViewModel}"><dxe:TextEditVerticalAlignment="Center"HorizontalAlignment="Left"Margin="5"Width="{Binding ScreenWidth}"MaskType="Regular"Mask="(\d?\d?\d?) \d\d\d-\d\d\d\d"EditValue="{Binding Var.Value}"IsReadOnly="{Binding FormQuestion.ReadOnly}"Visibility="{Binding HideInput, Converter={StaticResource InverseBooleanToVisibilityConverter}}"/></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:DropDownQuestionViewModel}"><local:DropdownQuestionView/></DataTemplate><DataTemplateDataType="{x:Type TypeName=vm:ItemSelectQuestionViewModel}"><local:ItemSelectQuestionView/></DataTemplate></ResourceDictionary></UserControl.Resources><Grid><dxlc:LayoutControlOrientation="Vertical"ScrollBars="Auto"><dxlc:LayoutGroupView="Group"Orientation="Vertical"><dxmvvm:Interaction.Behaviors><helper:ItemsSourceHelperItemsSource="{Binding FormSections}"/></dxmvvm:Interaction.Behaviors></dxlc:LayoutGroup></dxlc:LayoutControl></Grid></UserControl>

ASPxRichEdit - How to open a document using drag-and-drop

$
0
0
In some scenarios, it is necessary to load a document stored on a user's hard disk to the ASPxRichEdit control. The ASPxRichEdit does not support this feature, but you can use a workaround described in this example. Note, that in this example the open document is not saved to the Working Directory. If you need to save the open document to the Working Directory see this example.

The ASPxUploadControl is developed to save client files to the server via a browser. This control includes the Advanced mode that allows users to load documents using drag-and-drop. The ASPxUploadControl's ExternalDropZoneID property defines which HTML element is used to release files dragged from the client's hardware. Using this property, you can invoke document loading by dragging it to the ASPxRichEdit control. When the ASPxUploadControl finishes loading the document, it is saved as a stream via the RichEditDocumentServer and opened in the ASPxRichEdit control.
Question Comments

Added By: Mike LRX at: 3/6/2018 12:23:23 PM    This is a nice example. There are a couple of things I wanted to point out when moving to a production environment. I found if you want to use a different folder than the default UploadTemp of the Upload Control we need to set the TemporaryFolder property of the AdvancedModeSettings.

<AdvancedModeSettings EnableDragAndDrop="True" EnableFileList="False" EnableMultiSelect="False" ExternalDropZoneID="reTester" TemporaryFolder="~\App_Data\WorkDirectory" />

More importantly when moving from a dev machine to a web server. If the folder does not exists the control will create it with the same permissions as the website folder for our IIS user running the website. In our case that was Read & Execute, List folder contents, Read, and Write. The drag and drop did not work for us until we added "Modify" permission to the folder (WorkDirectory) to the IIS user running the site.

I hope this helps someone else out.
Mike

How to implement custom grouping logic for ASPxGridView columns

$
0
0

This sample demonstrates how to use the CustomColumnGroup, CustomColumnSort and CustomGroupDisplayText events to group grid data by values of a specific grid column based on a custom criteria.

See also:
ASPxGridView - How to sort groups

Question Comments

Added By: WISDevelopers at: 3/6/2018 3:07:42 PM    I don't see the grouping logic

SpellChecker - An example of use

$
0
0

This example illustrates how to load multiple Dictionaries to check spelling of a multi-language text in a simple text box control. Also, you will see how to add a Custom Dictionary so that the end-user can add custom words to it. 

Question Comments

Added By: Muhammad _ 1 at: 4/8/2016 4:45:04 AM    yes but did i need to add or download any dictionary as given below you pointing to any path
"\..\..\Dictionaries\es_ES\es_ES.aff";
Added By: Yulia (DevExpress Support) at: 4/8/2016 5:59:54 AM    

Hello Muhammad,

Dictionaries used in this Code Example are copied within the sample project, so you can find dictionary files in the corresponding folder.

Added By: Naveed Shaikh at: 3/6/2018 11:48:35 PM    Hi Team, 
Can you please upload this project as .zip and also can you explain how to add custom dictionaries in this project ?

Thanks

How to use the grid designer when the grid is inside a UserControl.

$
0
0

This example demonstrates how to customize a Grid's settings when it is placed to the UserControl. To do this, it is necessary to create an inherited UserControl and adjust aGrid settings using it.
For more information, please refer to the How to use the grid designer when the grid is inside a UserControl. Knowledge Base article.

See Also:
Can I use the grid on an inherited form or user control?
How to enable visual inheritance for Developer Express controls
How to create a GridView descendant class and register it for design-time use

Question Comments

Added By: Nawfal Hassan at: 3/7/2018 3:56:30 PM    Tried this in DevExpress version 17.1.6, VS 2017. Doesnt work. Here's a screenshot: https://pasteboard.co/HaRLzXO.png

The grid control looks locked even though Locked property is set to false.

Spreadsheet - How to save and load documents from a database

$
0
0
UPDATED:

Starting with v16.1, Spreadsheet provides the capability to handle certain actions in the Controller. So, it is possible to save a document to a database using the Spreadsheet ribbon's 'Save' button.

UPDATED:

This code example demonstrates how to save and restore Spreadsheet documents from a database using a Binary column.
Starting with version 15.1, it is possible to use the SpreadsheetExtension.Open method to load a document and call the SpreadsheetExtension.SaveCopy method to save changes.

For Older Versions:
Use ISpreadsheetComponent.LoadDocument to load a document and ISpreadsheetComponent.SaveDocument - to save it.

See Also:
WebForms Version:

T190812: ASPxSpreadsheet - How to save and load documents from a database
Question Comments

Added By: Maria Luisa Almirol-Castillo at: 3/7/2018 9:19:12 PM    where would i get 
DataClassesDataContext()

How to: Adjust the size of pop up dialogs

$
0
0

ASP.NET
A complete description for the  ASP.NET version is available in the How to: Adjust the Size of Pop up Dialogs displayed in ASP.NET Applications topic.


WinForms
Check out the PopupSizeExample.Module.Win\Controllers\CustomizeFormSizeController.xx file and code comments in it. See also the following product documentation:
    Concepts> Extend Functionality> Controllers
    DevExpress.ExpressApp> Frame> TemplateChanged
    DevExpress.ExpressApp> XafApplication> CustomizeTemplate
    DevExpress.ExpressApp.Templates> ISupportStoreSettings> SettingsReloaded

Take special note that certain form templates (e.g., LookupForm, PopupForm, LookupControlTemplate)  may have a minimum form size set by default (using the MinimumSize  property) or may calculate their size dynamically based on the content. So, if your custom size is ignored using the aforementioned method, you may want to research the source code for each required form template and adjust your default form settings accordingly.

Question Comments

Added By: Ari Vesteinsson at: 12/19/2016 5:33:15 AM    The Frame.TemplateChanged property is not static - this code will not compile as is. Is there additional code we're expected to include?Added By: Alexey (DevExpress Support) at: 12/19/2016 6:02:40 AM    

Hello,

I've created a separate ticket on your behalf (T464212: Frame.TemplateChanged property is not static ). It has been placed in our processing queue and will be answered shortly.

Added By: Alex Miller at: 3/9/2018 11:43:43 AM    In Winforms if you still don't get the correct size... make sure you turn AuthoShrink = false. Something like this:

[C#]
privatevoidOnFormReadyForCustomizations(objectsender,EventArgse){if(YourCustomBusinessCondition(Window.View)){PopupFormpopupForm=senderasDevExpress.ExpressApp.Win.Templates.PopupForm;if(popupForm!=null){popupForm.AutoShrink=false;}((System.Windows.Forms.Form)sender).Size=((IFormSizeProvider)Window.View.CurrentObject).GetFormSize();}}

How to customize command buttons in individual rows

$
0
0

This example demonstrates how to hide a command button in the grid's CommandColumn by handling the ASPxGridView.CommandButtonInitialize event.

See Also:
How to hide a cell value
How to hide template controls in individual cells
How to conditionally disable the UpdateButton in client code
How to create a custom command button with the appearance and action depending on a row state
How to enable/disable command buttons on the client side

Question Comments

Added By: Jacob Blumberg at: 8/28/2013 3:30:46 PM    

Is there a way to do this based on the data in the row?

Added By: Balaji BLS at: 6/9/2017 2:26:46 AM    Hello Support,

How to implement same functionality in MVC? Added By: Lex (DevExpress Support) at: 6/9/2017 5:42:12 AM    

Hello Balaji,

I've created a separate ticket on your behalf (T524229: GridView - How to customize command buttons in individual rows). It has been placed in our processing queue and will be answered shortly.

Added By: Suman Rayabharapu 1 at: 3/13/2018 2:25:12 PM    Do we have this implementation for MVC using 17.2.6 version ?

ASPxGridView - How to customize the default editor in the built-in Filter Builder


How to customize TimeRuler using styles and templates

How to bind a report to an object data source

$
0
0
This example demonstrates how to create a class that contains the data source definition (the Fishes file) and create a report bound to this class at design time in Visual Studio.

For a step-by-step tutorial, refer to Bind a Report to an Object Data Source.

How to add custom Field Values (Rows/Columns) that are not present in a DataSource

$
0
0
This is a WPF version of the How to add custom Field Values (Rows/Columns) that are not present in a DataSource example.

PivotGridControl does not display field values in row and column areas if these values are not represented in the underlying datasource. As a workaround, add all required values to the original datosource or create a datasource wrapper that contains all required values on its level, and there is no need to modify original datasource. 
This example illustrates how to create such a datasource wrapper. It is based on the How to create a data source wrapper that adds an empty item to the lookup list example.

How to replace colors for SVG images using palettes

ASP.NET MVC Dashboard - How to save a dashboard state to cookies

$
0
0

The sample illustrates how to save the current ASP.NET MVC Dashboard state (such as master filter or parameter values) to cookies on the client side and restore this state on the server side. The following API is used in this example:
- The ASPxClientDashboard.DashboardStateChanged event is handled to obtain the current dashboard state.
- The ASPxClientUtils.SetCookie client-side method is used to save the dashboard state to cookies.
- The DashboardConfigurator.SetDashboardStateService method is used to apply the dashboard state loaded from the cookies.

Question Comments

Added By: Marcin Mroczek at: 3/14/2018 9:24:27 AM    Hi 
Should it work for Olap data source in Dashboard as well ?
I have system.IndexOutOfRangeException when I'am trying to refresh dashboard with OLAP data source

Marcin


Viewing all 7205 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>