Back to Devexpress

DetailDescriptorSelector Class

wpf-devexpress-dot-xpf-dot-grid-2490ac29.md

latest5.2 KB
Original Source

DetailDescriptorSelector Class

Enables you to select which detail descriptor to use in data dependent details.

Namespace : DevExpress.Xpf.Grid

Assembly : DevExpress.Xpf.Grid.v25.2.Core.dll

NuGet Package : DevExpress.Wpf.Grid.Core

Declaration

csharp
public class DetailDescriptorSelector :
    MultiDetailDescriptorBase
vb
Public Class DetailDescriptorSelector
    Inherits MultiDetailDescriptorBase

Example

In this example, the DetailDescriptorSelector displays different details based on the master row’s content. Assign the default detail descriptor to the DetailDescriptorSelector.DefaultValue property and use DetailDescriptorTriggers to conditionally switch it to an another detail. This trigger has the Binding and Value properties which work similarly to corresponding properties in a standard WPF DataTrigger.

View Example: Display Different Details Based on Data in the Master Row

xaml
<dxg:GridControl AutoGenerateColumns="AddNew" ItemsSource="{Binding Tasks}">
    <dxg:GridControl.DetailDescriptor>
        <dxg:DetailDescriptorSelector>
            <dxg:DetailDescriptorSelector.DefaultValue>
                <dxg:DataControlDetailDescriptor ItemsSourcePath="CompletedActions">
                    <dxg:GridControl AutoGenerateColumns="AddNew">
                        <dxg:GridControl.View>
                            <dxg:TableView ShowGroupPanel="False"/>
                        </dxg:GridControl.View>
                    </dxg:GridControl>
                </dxg:DataControlDetailDescriptor>
            </dxg:DetailDescriptorSelector.DefaultValue>
            <dxg:DetailDescriptorTrigger Binding="{Binding Succeed}" Value="False">
                <dxg:DataControlDetailDescriptor ItemsSourcePath="Errors">
                    <dxg:GridControl AutoGenerateColumns="AddNew">
                        <dxg:GridControl.View>
                            <dxg:TableView ShowGroupPanel="False"/>
                        </dxg:GridControl.View>
                    </dxg:GridControl>
                </dxg:DataControlDetailDescriptor>
            </dxg:DetailDescriptorTrigger>
        </dxg:DetailDescriptorSelector>
    </dxg:GridControl.DetailDescriptor>
    <dxg:GridControl.View>
        <dxg:TableView AutoWidth="True" ShowGroupPanel="False"/>
    </dxg:GridControl.View>
</dxg:GridControl>

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the DetailDescriptorSelector class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

wpf-data-grid-display-different-details-based-on-master-row-data/CS/WpfApp30/MainWindow.xaml#L17

xml
<dxg:GridControl.DetailDescriptor>
    <dxg:DetailDescriptorSelector>
        <dxg:DetailDescriptorSelector.DefaultValue>

Inheritance

Object DispatcherObject DependencyObject ContentElement FrameworkContentElement DXFrameworkContentElement DetailDescriptorBase ContentDetailDescriptor DevExpress.Xpf.Grid.MultiDetailDescriptorBase DetailDescriptorSelector

See Also

Data Dependent Details

DetailDescriptorSelector Members

DevExpress.Xpf.Grid Namespace