Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
955
Layout with children rows - They disappear if there's no children
posted

Hi,

 

We've got a grid with two FieldLayout, the second being a children to the first one.

<DataPresenter:FieldLayout Key="Children" ParentFieldLayoutKey="DefaultLayout" ParentFieldName="Children">

Our bound objects have an IEnumerable property named Children.

The problem happens when the Children collection is null or empty. We assign the DataSource, then we see the rows for an instant and they disappear. By using Snoop we're able to confirm the DataSource is still there with the parent rows.

 

Has anyone seen this before? We're using Infragistics WPF4 v 11.1.20111.2193

 

Thanks.

  • 955
    posted

    Ok, it also does happen if there are child rows.

    Please see below the grid XAML.

     

     

    <DataPresenter:XamDataGrid 

                                        x:Name="_positionsGrid"

                                       Style="{StaticResource DefaultInfragisticsGridStyle}"

     

                                       >

                  <DataPresenter:XamDataGrid.Resources>

                    <Style TargetType="{x:Type DataPresenter:LabelPresenter}" BasedOn="{StaticResource GridLabelPresenter}"/>

                    <Style TargetType="{x:Type ScrollBar}" BasedOn="{StaticResource NuclearScrollBar}"/>

                    <Style TargetType="{x:Type DataPresenter:HeaderPrefixArea}">

                      <Setter Property="Template">

                        <Setter.Value>

                          <ControlTemplate TargetType="{x:Type DataPresenter:HeaderPrefixArea}">

                            <DockPanel Margin="0,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" LastChildFill="True">

                              <Views:BlotterSettingsView/>

                            </DockPanel>

                          </ControlTemplate>

                        </Setter.Value>

                      </Setter>

                    </Style>

                  </DataPresenter:XamDataGrid.Resources>

     

                  <DataPresenter:XamDataGrid.SuppressedEvents>

                    <DataPresenter:RoutedEventWrapper RoutedEvent="igEditors:ValueEditor.TextChanged" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="igEditors:ValueEditor.ValueChanged" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.AssigningFieldLayoutToItem" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.CellActivating" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.CellActivated" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.CellDeactivating" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.DataValueChanged" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.ExecutingCommand" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.ExecutedCommand" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.InitializeCellValuePresenter" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.InitializeRecord" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.RecordActivating" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.RecordActivated" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.RecordDeactivating" />

                    <DataPresenter:RoutedEventWrapper RoutedEvent="DataPresenter:DataPresenterBase.RecordsInViewChanged" />

                  </DataPresenter:XamDataGrid.SuppressedEvents>

                    <i:Interaction.Triggers>

                        <i:EventTrigger EventName="MouseDoubleClick">

                            <cmd:EventToCommand Command="{Binding MouseDoubleClickCommand,

                                              Mode=OneWay}" 

                                      PassEventArgsToCommand="True"/>

                        </i:EventTrigger>

                      <i:EventTrigger EventName="Loaded">

                        <cmd:LoadGridLayoutAction />

                      </i:EventTrigger>

                    </i:Interaction.Triggers>

                  <DataPresenter:XamDataGrid.FieldSettings>

                    <DataPresenter:FieldSettings AllowRecordFiltering="True"

                                         CellClickAction="SelectRecord"

                                         AllowCellVirtualization="True"

     

                                         AllowEdit="False" />

                  </DataPresenter:XamDataGrid.FieldSettings>

     

                  <DataPresenter:XamDataGrid.FieldLayoutSettings>

                    <DataPresenter:FieldLayoutSettings AutoGenerateFields="False"

                                               HighlightAlternateRecords="True"

                                               FixedFieldUIType="Splitter"

                                                       DataRecordSizingMode="Fixed"

                                               AllowDelete="False"

                                               AllowAddNew="False"

                                               RecordSelectorExtent="30"

                                               SelectionTypeRecord="Extended" />

                  </DataPresenter:XamDataGrid.FieldLayoutSettings>

     

                    <DataPresenter:XamDataGrid.FieldLayouts>

                        <DataPresenter:FieldLayout Key="DefaultLayout">

     

                            <DataPresenter:FieldLayout.FieldSettings>

                                <DataPresenter:FieldSettings 

                                                             ExpandableFieldRecordExpansionMode="ExpandAlways"

                                                             />

                            </DataPresenter:FieldLayout.FieldSettings>

                            <DataPresenter:FieldLayout.Fields>

                                <DataPresenter:Field Name="Children" Label="Deals" />

     

                                <DataPresenter:Field Name="IsInAction" Label="" FixedLocation="FixedToNearEdge" Width="17">

                                    <DataPresenter:Field.Settings>

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource InProgressColumnStyle}" AllowRecordFiltering="False"/>

                                    </DataPresenter:Field.Settings>

                                </DataPresenter:Field>

                              <DataPresenter:Field Name="IsExpiryEvent" Label="Expiring this week" ToolTip="Expiring this week"  FixedLocation="FixedToNearEdge" Width="17" >

                                <DataPresenter:Field.Settings>

                                  <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource ExpiryEventColumnStyle}" AllowRecordFiltering="False" />

                                </DataPresenter:Field.Settings>

                              </DataPresenter:Field>

                              <DataPresenter:Field Name="IsBarrierEvent" Label="Barrier proximity" ToolTip="Barrier proximity" FixedLocation="FixedToNearEdge"  Width="17">

                                <DataPresenter:Field.Settings>

                                  <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource BarrierEventColumnStyle}" AllowRecordFiltering="False"/>

                                </DataPresenter:Field.Settings>

                              </DataPresenter:Field>

     

                                <DataPresenter:Field Name="Region" Label="Rgn" Width="20"  FixedLocation="FixedToNearEdge" >

                                    <DataPresenter:Field.Settings >

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource FrozenColumnStyle}" />

                                    </DataPresenter:Field.Settings>

     

                                </DataPresenter:Field>

     

                                <DataPresenter:Field Name="ClientName" Label="Client" Width="140" FixedLocation="FixedToNearEdge">

                                    <DataPresenter:Field.Settings>

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource FrozenColumnStyle}" />

                                    </DataPresenter:Field.Settings>

                                </DataPresenter:Field>

     

                                <DataPresenter:Field Name="UlMdSymbol" Label="Underlier" Width="55" FixedLocation="FixedToNearEdge">

                                    <DataPresenter:Field.Settings>

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource FrozenColumnStyle}" />

                                    </DataPresenter:Field.Settings>

                                </DataPresenter:Field>

     

                              <DataPresenter:Field Name="TradeCategory" Label="Category" Width="34" ToolTip="Trade Category" FixedLocation="FixedToNearEdge">

                                <DataPresenter:Field.Settings>

                                  <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource FrozenColumnStyle}" />

                                </DataPresenter:Field.Settings>

                              </DataPresenter:Field>

     

                                <!-- End of fixed columns  -->

     

                                <DataPresenter:Field Name="BuySell" Label="B/S" Width="32" ToolTip="Buy/Sell">

                                    <DataPresenter:Field.Settings>

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource CenterAlignedColumnStyle}" />

                                    </DataPresenter:Field.Settings>

                                </DataPresenter:Field>

                                <DataPresenter:Field Name="SizeFormatted" Label="Size" Width="60">

                                    <DataPresenter:Field.Settings>

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource RightAlignedColumnStyle}" />

                                    </DataPresenter:Field.Settings>

                                </DataPresenter:Field>

                                <DataPresenter:Field Name="ExpiryFormatted" Label="Expiry" Width="66"/>

     

                                <DataPresenter:Field Name="PremiumCcyCd" Label="CCY" Width="30" />

     

                                <DataPresenter:Field Name="TheoValueFormatted" Label="Price" Width="50">

                                    <DataPresenter:Field.Settings>

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource RightAlignedColumnStyle}" />

                                    </DataPresenter:Field.Settings>

                                </DataPresenter:Field>

     

     

                                <DataPresenter:Field Name="ProductDescription" Label="Description" Width="160" />

     

     

                                <DataPresenter:Field Name="OTCMsCusip" Label="Cusip" Width="70" >

                                    <DataPresenter:Field.Settings>

                                        <DataPresenter:FieldSettings CellValuePresenterStyle="{StaticResource CenterAlignedColumnStyle}" />

                                    </DataPresenter:Field.Settings>

                                </DataPresenter:Field>

                                <DataPresenter:Field Name="OrderFiller" Label="Trading Acct" Width="64"/>

                                <DataPresenter:Field Name="OrderPlacer" Label="Cpty Acct" Width="64" />

                              <DataPresenter:Field Name="TradeDateFormatted" Label="Tr Date" ToolTip="Trade Date" Width="66"/>

                                <DataPresenter:Field Name="LongDescription" Label="Long Description" Width="160" ToolTip="Long Description" />

     

                            </DataPresenter:FieldLayout.Fields>

                        </DataPresenter:FieldLayout>

     

                    <DataPresenter:FieldLayout Key="Children" ParentFieldLayoutKey="DefaultLayout" ParentFieldName="Children">

                      <DataPresenter:FieldLayout.FieldSettings>

                        <DataPresenter:FieldSettings AllowRecordFiltering="False" />

                      </DataPresenter:FieldLayout.FieldSettings>

     

                        <DataPresenter:Field Name="ProductType" Label="Product Type" Width="64"/>

                        <DataPresenter:Field Name="Market" Label="Market" Width="64"/>

                        <DataPresenter:Field Name="Description" Label="Description" Width="Auto"/>

                        <DataPresenter:Field Name="IssueId" Label="Issue Id" Width="86"/>

                        <DataPresenter:Field Name="MarketId" Label="Market Id" Width="84"/>

                        <DataPresenter:Field Name="MsCusip" Label="MS Cusip" Width="64"/>

                        <DataPresenter:Field Name="BloombergId" Label="BB Id" Width="64" ToolTip="Bloomberg Id"/>

                        <DataPresenter:Field Name="MdSymbol" Label="MD Symbol" Width="110"/>

                        <DataPresenter:Field Name="TradeSymbol" Label="Trade Symbol" Width="76"/>

                        <DataPresenter:Field Name="Ric" Label="RIC" Width="104"/>

                        <DataPresenter:Field Name="Sedol" Label="Sedol" Width="64"/>

                        <DataPresenter:Field Name="Isin" Label="ISIN" Width="75"/>

                        <DataPresenter:Field Name="Cusip" Label="Cusip" Width="76"/>

                    </DataPresenter:FieldLayout>

     

                    </DataPresenter:XamDataGrid.FieldLayouts>

                </DataPresenter:XamDataGrid>

     

     

    And this the style applied to the grid:

     

     

    <Style x:Key="DefaultInfragisticsGridStyle" TargetType="{x:Type DataPresenter:XamDataGrid}">

        <Setter Property="Height" Value="Auto" />

        <Setter Property="Theme" Value="Onyx" />

        <Setter Property="FontWeight" Value="Normal" />

        <Setter Property="FontSize" Value="9.5" />

        <Setter Property="GroupByAreaLocation" Value="AboveDataArea" />

        <Setter Property="IsGroupByAreaExpanded" Value="False" />

        <Setter Property="AutoFit" Value="False" />

        <Setter Property="RecordLoadMode" Value="LoadOnDemand"/>

        <Setter Property="RecordContainerGenerationMode" Value="Recycle"/>

        <Setter Property="CellContainerGenerationMode" Value="Recycle"/>

        <Setter Property="ScrollingMode" Value="DeferredWithScrollTips"/>

        <Setter Property="DataSource" Value="{Binding View}"/>

        <Setter Property="ContextMenu" Value="{StaticResource gridContextMenu}"/>

        <Setter Property="infraControls:XamDataGridItemsHelper.SelectedDataItemsEnabled" Value="True"/>

        <Setter Property="infraControls:XamDataGridItemsHelper.SelectedDataItems" Value="{Binding SelectedRowsInDataPresenter, Mode=TwoWay}"/>

      </Style>