hi. I have an hierarchical grid and want both the vertical scroll bar and the expanding indicator to be on the right side of the grid.
is it possible, and if it does, then how?
thanks in advance
Eran
Hi Eran,
I've been thinking about this question. You can set the XamDataGrid's FlowDirection property to 'RightToLeft' and the expansion indicators will be on the right side, but the scrollbar will then be on the left side. I think it would be a very complicated task to re-template the control such that the scrollbar is on the right side in that situation, but this morning I thought of a little trick that might be what you need. Try this:
<ScrollViewer FlowDirection="LeftToRight"> <igDP:XamDataGrid FlowDirection="RightToLeft" /></ScrollViewer>
By placing the XamDataGrid in a ScrollViewer, it will never need to show its own scrollbar because a ScrollViewer gives its children infinite space to exist in. Without being confined, the datagrid does not need to show scrollbars. So, we can use a LeftToRight ScrollViewer to contain a RightToLeft XamDataGrid. Does that work for you?
Josh
That is a great example of thinking outside the box. Interesting...
Thank You!!! :)
Excellent Solution!!!!
I was really desperate about it, and I even asked for a develope request from your support - FR10462
and its working exactly they way I ment it to work.
thanks again
well, its working, but...
when I have many rows on the subsequent grid which I just opened by pressing the expand indicator,
then apeared 2 scroll bars - one to the right and one to the left.
if I disable the left scrollbar (which belongs to the grid) then I scroll down to the bottom of the scrollbar but
I dont get to see all the rows, - its like not all the grid is visible on the scrollviewer though i use the verticalalignment="stretch"
<UserControl x:Class="FmrIndices.FmrUcIndices"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Fmr="clr-namespace:Fmr.Modules.Main;assembly=Fmr.Modules.Main"
xmlns:igDP="clr-namespace:Infragistics.Windows.DataPresenter;assembly=Infragistics3.Wpf.DataPresenter.v8.1"
Loaded="UserControl_Loaded"
Unloaded="FmrUcIndices_Unloaded">
<ScrollViewer FlowDirection="LeftToRight" Grid.Row="0" VerticalContentAlignment="Stretch" VerticalAlignment="Stretch">
<igDP:XamDataGrid VerticalAlignment="Stretch" Theme="RoyaleStrong" Name="xamDataGrid1" FlowDirection="RightToLeft" RecordExpanding="xamDataGrid1_RecordExpanding" GroupByAreaLocation="None" BindToSampleData="True">
<igDP:XamDataGrid.Resources>
<ResourceDictionary>
<!--vanish the scroll-->
<Style TargetType="{x:Type igDP:RecordListControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:RecordListControl}">
<ScrollViewer CanContentScroll="False" Focusable="False" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled" >
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--–‰’ ™…˜„-->
<Style x:Key="myColoredCell" TargetType="{x:Type igDP:CellValuePresenter}">
<Setter Property="Foreground" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Record.DataItem.Base_Percent_Madad, Converter={StaticResource colorConverter}}"/>
<Setter Property="Background" Value="White"></Setter>
<Setter Property="FlowDirection" Value="LeftToRight" />
<Setter Property="HorizontalContentAlignment" Value="Right" />
<Setter Property="VerticalContentAlignment" Value="Center" />
</igDP:XamDataGrid.Resources>
<igDP:XamDataGrid.FieldSettings>
<igDP:FieldSettings LabelTextWrapping="Wrap"
AllowEdit="False" CellHeight="6" CellClickAction="SelectRecord" AllowResize="True"
AllowGroupBy="False" AllowSummaries="False" CellWidth="70" LabelWidth="70"
CellValuePresenterStyle="{StaticResource myColoredCell}"
/>
</igDP:XamDataGrid.FieldSettings>
<igDP:XamDataGrid.FieldLayoutSettings>
<igDP:FieldLayoutSettings AllowAddNew="False"
AllowDelete="False"
SelectionTypeCell="None"
SelectionTypeField="None"
SelectionTypeRecord="None"
HighlightPrimaryField="SameAsOtherFields"
</igDP:XamDataGrid.FieldLayoutSettings>
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout Key="Indices">
<igDP:FieldLayout.Fields>
<igDP:Field Name="Madad_Code" Label="—…ƒ ƒƒ"/>
<igDP:Field Name="Madad_Time" Label="† ƒƒ"/>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
<!--Indices-->
<igDP:FieldLayout Key="History">
<igDP:Field Name="Madad_Code" />
<!--History-->
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid.ContextMenu>
</igDP:XamDataGrid>
<!--</Grid>-->
</UserControl>
Hi,
I'm not sure why that happens. Sorry, I don't have a solution for that one. If you send our Developer Support team a sample that reproduces the behavior, they can have you notified when the issue is resolved.
Thanks,
though I need the height to be set to "auto" I've tried it but it didnt worked out well.
thanks for the suggestion
I was hurt the same problem.
Probably, that is bug of xamDataGrid.
Do not set XamDataGrid`s height = "auto" .
Sepcify height for number
Height ="300"