Skip to main content
All docs
V25.1
  • DashboardControl.UpdateExtractDataSourcesAsync(Action<String, ExtractUpdateResult>, Action<String, ExtractUpdateResult>, String[]) Method

    Updates the specified extract data sources in the current dashboard asynchronously. Allows you to specify custom actions to perform after updating the data and file.

    Namespace: DevExpress.DashboardWpf

    Assembly: DevExpress.Dashboard.v25.1.Wpf.dll

    NuGet Package: DevExpress.Wpf.Dashboard

    Declaration

    public Task UpdateExtractDataSourcesAsync(
        Action<string, ExtractUpdateResult> onDataUpdated,
        Action<string, ExtractUpdateResult> onFileUpdated,
        params string[] dataSourceNames
    )

    Parameters

    Name Type Description
    onDataUpdated Action<String, ExtractUpdateResult>

    A custom action to perform when the data is updated.

    onFileUpdated Action<String, ExtractUpdateResult>

    A custom action to perform when the file is updated.

    dataSourceNames String[]

    A list of the data source names.

    Returns

    Type Description
    Task

    The task object that is the asynchronous operation to complete.

    Example

    View Example: WPF Dashboard - How to Update the Extract Data File

    The following code snippet implements the UpdateExtractAsync method that updates all extract files bound to the dashboard. It displays a message box and reloads DashboardViewer’s data when data is updated, and displays a message box when the extract files are updated.

    using System.Windows;
    
    namespace UpdateExtractDataSourceExample
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : DevExpress.Xpf.Core.ThemedWindow
        {
            delegate void SafeUpdate(string file);
            public MainWindow() {
                InitializeComponent();
                dashboardControl1.LoadDashboard("update_data_extract_dashboard.xml");
            }
    
            private async void Button_Click(object sender, RoutedEventArgs e) {
                await dashboardControl1.UpdateExtractDataSourcesAsync(
                    (fileName, result) => { OnDataReady(fileName); }, 
                    (fileName, result) => { MessageBox.Show($"File {fileName} updated "); });
            }
    
            void OnDataReady(string fileName)
            {
                dashboardControl1.Dispatcher.Invoke(new SafeUpdate(UpdateViewer), new object[] { fileName });
            }
            void UpdateViewer(string fileName)
            {
                MessageBox.Show($"Data for the file {fileName} is ready ");
                dashboardControl1.ReloadData();
            }
        }
    }
    
    <dx:ThemedWindow x:Class="UpdateExtractDataSourceExample.MainWindow" mc:Ignorable="d" Title="Update ExtractDataSource" Height="500" Width="800" 
        xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:dashboard="clr-namespace:DevExpress.DashboardWpf;assembly=DevExpress.Dashboard.v25.1.Wpf">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="49*" />
                <RowDefinition Height="520*" />
            </Grid.RowDefinitions>
            <dashboard:DashboardControl x:Name="dashboardControl1" Grid.Row="1" />
            <dx:SimpleButton Content="Click to update extract data file" HorizontalAlignment="Left" Margin="24,5,0,0" Grid.Row="0" VerticalAlignment="Top" Width="215" Click="Button_Click" Height="29" />
        </Grid>
    </dx:ThemedWindow>
    
    See Also