Search code examples
wpfxamldevexpressgridcontroldevexpress-wpf

DevExpress WPF GridControl: How to set a default sort in XAML


I've the following GridControl of DevExpress:

<dxg:GridControl SelectionMode="Row">
    <dxg:GridControl.Columns>
        <dxg:GridColumn FieldName="TimeStamp" Header="Local Computer Time"/>
        <dxg:GridColumn FieldName="Level" Header="Level" >
            <dxg:GridColumn.DisplayTemplate>
                <ControlTemplate>
                    <StackPanel Orientation="Horizontal">
                        <!-- Convert severity to image -->
                        <TextBlock Text="{Binding Name}" />
                    </StackPanel>
                </ControlTemplate>
            </dxg:GridColumn.DisplayTemplate>
        </dxg:GridColumn>
        <dxg:GridColumn FieldName="RenderedMessage" Header="Message"/>
    </dxg:GridControl.Columns>
    <dxg:GridControl.View>
        <dxg:TableView ShowFixedTotalSummary="True" Name="view" ShowIndicator="False"  ShowGroupPanel="False" ShowAutoFilterRow="False" AllowColumnFiltering="False" AllowEditing="False" AllowFilterEditor="False" AllowGrouping="False" AllowMasterDetail="False">
            <dxg:TableView.ColumnMenuCustomizations>
                <dxb:RemoveBarItemAndLinkAction ItemName="BestFitColumns"  />
            </dxg:TableView.ColumnMenuCustomizations>
        </dxg:TableView>
    </dxg:GridControl.View>
</dxg:GridControl>

I would like to :

  • Sort the GridControl by "TimeStamp" in a desc order
  • Forbid the user to change any sorting
  • Do All this in the XAML

How can I do this? I'm trying to figure out since while now.


Solution

  • In fact I just found the solution.

    Within the GridControl, you have to set the SortInfo:

    <dxg:GridControl Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" SelectionMode="Row" ItemsSource="{Binding EventsList}">
        <dxg:GridControl.SortInfo>
            <dxg:GridSortInfo FieldName="TimeStamp" SortOrder="Descending" />
        </dxg:GridControl.SortInfo>
        <!-- ... -->
    </dxg:GridControl>