How to: Copy Data to the Clipboard

  • 2 minutes to read

The following example demonstrates how to copy data from the PivotGridControl into the system clipboard.

First, it is necessary to add the ContextMenu with a single "Copy to Clipboard" menu item to a PivotGridControl's ContextMenu property. This context menu is invoked when an end-user right-clicks within the Data Area. Then this menu's Click event can be handled to copy data to the clipboard. To copy the selected cells to the clipboard, the PivotGridControl.CopySelectionToClipboard method is used.

To determine whether the selection is not empty, and so whether it is necessary to invoke the context menu, the PivotGridControl.ContextMenuOpening event should be handled.

<Window x:Class="HowToBindToMDB.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:dxpg="http://schemas.devexpress.com/winfx/2008/xaml/pivotgrid"
        Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
    <Grid>
        <dxpg:PivotGridControl ContextMenuOpening="pivotGridControl1_ContextMenuOpening"
                               HorizontalAlignment="Left" Name="pivotGridControl1" 
                               VerticalAlignment="Top" 
                               Selection="0,0,3,4">
            <dxpg:PivotGridControl.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Copy Selection to Clipboard" 
                              Click="CopyToClipboard_Click"/>
                </ContextMenu>
            </dxpg:PivotGridControl.ContextMenu>
            <dxpg:PivotGridControl.Fields>
                <dxpg:PivotGridField Name="fieldCountry" FieldName="Country" 
                                     Area="RowArea" />
                <dxpg:PivotGridField Name="fieldCustomer" FieldName="Sales Person" 
                                     Area="RowArea" Caption="Customer" />
                <dxpg:PivotGridField Name="fieldYear" FieldName="OrderDate" 
                                     Area="ColumnArea" Caption="Year" 
                                     GroupInterval="DateYear" />
                <dxpg:PivotGridField Name="fieldCategoryName" FieldName="CategoryName" 
                                     Area="ColumnArea" Caption="Product Category" />
                <dxpg:PivotGridField Name="fieldProductName" FieldName="ProductName" 
                                     Area="FilterArea" Caption="Product Name" />
                <dxpg:PivotGridField Name="fieldExtendedPrice" FieldName="Extended Price" 
                                     Area="DataArea" CellFormat="c0" />
            </dxpg:PivotGridControl.Fields>
        </dxpg:PivotGridControl>
    </Grid>
</Window>