I want to freeze a table's header. The table class is derived from XamDataPresenter. How to implement freeze ?
Alex, You are right about the freezing headers in 9.2v. It works fine to me after upgrading to 9.2.
My biggest problem is grouping and sorting is not working in the following code. Can you please help me to fix this?
<AcpUINS:AcpXamDataPresenter KeyboardNavigation.TabNavigation="Continue" KeyboardNavigation.AcceptsReturn="True" Grid.Row="1" x:Name="ZoneChannelAssignmentList"> <AcpUINS:AcpXamDataPresenter.IsAcpVisible> <MultiBinding Converter="{StaticResource acpXamDataPresenterVisibilityConverter}" Mode="OneWay"> <Binding Source="{x:Static AcpCommonLibNS:AppInfoManager.AppInfoHelper}" Path="AppMode" /> <Binding Source="{x:Static AcpCommonLibNS:AppInfoManager.AppInfoHelper}" Path="AppHideMatches" /> <Binding Source="{StaticResource GetParentFeature}" Path="_HasDiffs"/> <Binding RelativeSource="{RelativeSource Self}" Path="IsAcpVisible"/> <Binding RelativeSource="{RelativeSource Self}" Path="FieldLayouts[0].Fields[0].Visibility"/> </MultiBinding> </AcpUINS:AcpXamDataPresenter.IsAcpVisible> <AcpUINS:AcpXamDataPresenter.FieldLayoutSettings> <igcontrols:FieldLayoutSettings AutoGenerateFields="false"/> </AcpUINS:AcpXamDataPresenter.FieldLayoutSettings> <AcpUINS:AcpXamDataPresenter.FieldLayouts> <igcontrols:FieldLayout> <igcontrols:FieldLayout.Fields> <igcontrols:UnboundField Name="Fly In"> <igcontrols:UnboundField.Settings> <igcontrols:FieldSettings CellValuePresenterStyle="{StaticResource myZoneChannelAssignmentListStyle}" /> </igcontrols:UnboundField.Settings> <igcontrols:UnboundField.Visibility> <MultiBinding Converter="{StaticResource flyInVisibilityConverter}" Mode="OneWay"> <Binding Source="{StaticResource GetFeatureNode}" Path="Zone.ZnChanCfgZoneZoneName_A9724_Visible" /> <Binding Source="{StaticResource GetFeatureNode}" Path="Zone.ZnChanCfgZoneTopDisplayZone_A19772_Visible" /> <Binding Source="{StaticResource GetFeatureNode}" Path="Zone.ZoneVoiceAnnouncementID_A21514_Visible" /> <Binding Source="{StaticResource GetFeatureNode}" Path="FPPProtection.ZnChanCfgFPPProtectionProtectedZone_A8765_Visible" /> <Binding Source="{StaticResource GetFeatureNode}" Path="FPPProtection.ZnChanCfgFPPProtectionFPPEnable_A19562_Visible" /> </MultiBinding> </igcontrols:UnboundField.Visibility> </igcontrols:UnboundField> <igcontrols:UnboundField Name="Position" Label="Position" BindingPath="Zone" BindingMode="OneWay" DataType="{x:Type AcpBLNS:FeatureSection}" > <igcontrols:UnboundField.Settings> <igcontrols:FieldSettings CellValuePresenterStyle="{StaticResource PositionStyle}"/> </igcontrols:UnboundField.Settings> </igcontrols:UnboundField> <!-- Zone Name --> <igcontrols:UnboundField Name="Zone Name" BindingPath="Zone" BindingMode="OneWay" Visibility="{Binding Source={StaticResource GetFeatureNode}, Path=Zone.ZnChanCfgZoneZoneName_A9724_Visible, Converter={StaticResource BooleanToVisibility}}"> <igcontrols:Field.Settings> <igcontrols:FieldSettings CellValuePresenterStyle="{StaticResource ZnChanCfgZoneZoneName_A9724CellStyle}"/> </igcontrols:Field.Settings> </igcontrols:UnboundField> <!-- Top Display Zone --> <igcontrols:UnboundField Name="Top Display Zone" BindingPath="Zone" BindingMode="OneWay" Visibility="{Binding Source={StaticResource GetFeatureNode}, Path=Zone.ZnChanCfgZoneTopDisplayZone_A19772_Visible, Converter={StaticResource BooleanToVisibility}}"> <igcontrols:Field.Settings> <igcontrols:FieldSettings CellValuePresenterStyle="{StaticResource ZnChanCfgZoneTopDisplayZone_A19772CellStyle}"/> </igcontrols:Field.Settings> </igcontrols:UnboundField> <!-- Zone Announcement --> <igcontrols:UnboundField Name="Zone Announcement" BindingPath="Zone" BindingMode="OneWay" Visibility="{Binding Source={StaticResource GetFeatureNode}, Path=Zone.ZoneVoiceAnnouncementID_A21514_Visible, Converter={StaticResource BooleanToVisibility}}"> <igcontrols:Field.Settings> <igcontrols:FieldSettings CellValuePresenterStyle="{StaticResource ZoneVoiceAnnouncementID_A21514CellStyle}"/> </igcontrols:Field.Settings> </igcontrols:UnboundField> <!-- Protected Zone --> <igcontrols:UnboundField Name="Protected Zone" BindingPath="FPPProtection" BindingMode="OneWay" Visibility="{Binding Source={StaticResource GetFeatureNode}, Path=FPPProtection.ZnChanCfgFPPProtectionProtectedZone_A8765_Visible, Converter={StaticResource BooleanToVisibility}}"> <igcontrols:Field.Settings> <igcontrols:FieldSettings CellValuePresenterStyle="{StaticResource ZnChanCfgFPPProtectionProtectedZone_A8765CellStyle}"/> </igcontrols:Field.Settings> </igcontrols:UnboundField> <!-- FPP Enable --> <igcontrols:UnboundField Name="FPP Enable" BindingPath="FPPProtection" BindingMode="OneWay" Visibility="{Binding Source={StaticResource GetFeatureNode}, Path=FPPProtection.ZnChanCfgFPPProtectionFPPEnable_A19562_Visible, Converter={StaticResource BooleanToVisibility}}"> <igcontrols:Field.Settings> <igcontrols:FieldSettings CellValuePresenterStyle="{StaticResource ZnChanCfgFPPProtectionFPPEnable_A19562CellStyle}"/> </igcontrols:Field.Settings> </igcontrols:UnboundField> </igcontrols:FieldLayout.Fields> </igcontrols:FieldLayout> </AcpUINS:AcpXamDataPresenter.FieldLayouts> </AcpUINS:AcpXamDataPresenter>
Alex, You are right about the Freezing header. They are by default on top all the time in 9.2 version. It works fine. Thanks.
By biggest problem is grouping and sorting is not working in the following. May be some other property setting affecting grouping and sorting. Can you please help me to find this bug why grouping and sorting is not working, it will be great help. We are postponing this bug from from several months. Also, I attached screenshot, it is created only one group.
="OneWay"
<!-- Zone Name -->
<!-- Top Display Zone -->
<!-- Zone Announcement -->
<!-- Protected Zone -->
<!-- FPP Enable -->
Regarding RecordsInViewChanged event, it will fire for each record which is being scrolled into/out of view.
Regarding the TextBox, this would be because of the ControlTemplate. The CellValuePresenter contains PART elements, which name is important. You can see the default templates in the DefaultStyles directory and see the full template and retemplate it accordingly.
I am still not sure about the headers. By default, they are always on top at all times.
If I see data records in OnRecordsInViewChanged event while debugging it added only one group instead of adding several. Please see the screen shot