WPF - exampe of DataGrid to display a Tabular Data

We often has something to display, where we can use some 3rd party libraries for the display while we can as well do the display with some native WPF controls.

DataGrid is the privmite/pristine/primordial/primeval grid for display data only. While we mihgt have some other grid like the XamDataGrid, like in the DevExpress, which has the GridControl. The DataGrid in Pristine wpf has some advantage where it is simple, and is available in almost every VS... It cost nothing.

Suppose that we have some GridControl in DevExpress and it is suppose to display some data in such Xaml definition. 

<dxg:GridControl
				AutoPopulateColumns="False" 
                Style="{x:Null}"
				HorizontalAlignment="Stretch"
				VerticalAlignment="Stretch"
				AllowMRUFilterList="True"
                ItemsSource="{Binding RiskData}">
                <dxg:GridControl.Columns>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Book" 
                        DisplayMemberBinding="{Binding RowData.Row.Book}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Trade Type" 
                        DisplayMemberBinding="{Binding RowData.Row.TradeType}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Sector" 
                        DisplayMemberBinding="{Binding RowData.Row.Sector}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Risk Type" 
                        DisplayMemberBinding="{Binding RowData.Row.RiskType}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Ccy" 
                        DisplayMemberBinding="{Binding RowData.Row.Ccy}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Category" 
                        DisplayMemberBinding="{Binding RowData.Row.Category}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Tenure" 
                        DisplayMemberBinding="{Binding RowData.Row.Tenure}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="PnL" 
                        DisplayMemberBinding="{Binding RowData.Row.PnLValue}"/>
                    <dxg:GridColumn 
                        Style="{x:Null}"
                        Header="Risk" 
                        DisplayMemberBinding="{Binding RowData.Row.RiskValue}"/>
                </dxg:GridControl.Columns>
                <dxg:GridControl.View>
                    <dxg:TableView                         
                        x:Name="view" 
                        Style="{x:Null}"
                        AllowFixedGroups="True" 
                        ShowGroupedColumns="True" 
                        AllowCascadeUpdate="True" 
                        AllowPerPixelScrolling="True" 
                        NavigationStyle="Row" 
                        AutoWidth="False" 
                        ShowFixedTotalSummary="True"/>
                </dxg:GridControl.View>
            </dxg:GridControl>
Whie equivalently, you can write something like this in DataGrid.

<DataGrid
                Style="{x:Null}"
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch"
                ItemsSource="{Binding RiskData}"
                >
                <DataGrid.Columns>
                    <DataGridTextColumn
                        Header="Book"
                        Binding="{Binding Book}"
                        IsReadOnly="True"
                        >
                    </DataGridTextColumn>
                    <DataGridTextColumn
                        Header="Trade Type"
                        Binding="{Binding TradeType}"
                        IsReadOnly="True">
                        
                    </DataGridTextColumn>
                    <DataGridTextColumn
                        Header="Sector"
                        Binding="{Binding Sector}"
                        IsReadOnly="True"/>
                    <DataGridTextColumn
                        Header="Risk Type"
                        Binding="{Binding RiskType}"
                        IsReadOnly="True"
                        />
                    <DataGridTextColumn
                        Header=" Ccy"
                        Binding="{Binding Ccy}"
                        IsReadOnly="True"/>
                    <DataGridTextColumn
                        Header="Category"
                        Binding="{Binding Tenure}" 
                        IsReadOnly="True"/>
                    <DataGridTextColumn
                        Header="PnlValue"
                        Binding="{Binding PnlValue}"
                        IsReadOnly="True"
                        />
                    <DataGridTextColumn 
                        Header="Risk"
                        Binding="{Binding RiskValue}"
                        IsReadOnly="True"/>
                </DataGrid.Columns>
            </DataGrid>

你可能感兴趣的:(WPF)