문제

I have this code which basically places a gridview below a cell of a gridview - a hierarchical type display.

However the child grid view cannot see the data context.

I have searched and have tried many cases and it just will not work. My program is now complaining about deadlock occurring during the binding process and crashes... I am at a lost of how to get the data binding to be seen by my child grid...

<telerik:RadGridView Height="633" HorizontalAlignment="Left" Margin="301,0,0,0" Name="radGridView2" VerticalAlignment="Top" Width="1546" Grid.Row="1" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" ItemsSource="{Binding Collections}" BorderBrush="#FFD7D2D2" FontFamily="Mangal" FontSize="14" Loaded="radGridView2_Loaded" AutoGenerateColumns="False"
                         RowStyleSelector="{StaticResource rowStyleSelector}" GroupRenderMode="Flat" ShowColumnSortIndexes="True" CanUserFreezeColumns="False" CanUserResizeColumns="False">
        <telerik:RadGridView.Columns>
            <telerik:GridViewToggleRowDetailsColumn />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding SetToPending}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding CollectionId}" ToolTip="{Binding Notes}"  />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding CollectionDate, Converter={StaticResource dateConverter}}"/>
            <telerik:GridViewDataColumn DataMemberBinding="{Binding IsAdvancedPayment}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding LocationId}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding LocationName}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding NumMachines}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding NumCollections}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding Gross}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding OperatorCommission}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding Actual}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding OverShort}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding Advance}" ToolTip="{Binding AdvanceId}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding TotalActualIn}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding TotalActualOut}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding Gross}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding LocationCommission}" />
            <telerik:GridViewDataColumn DataMemberBinding="{Binding Notes}" />
        </telerik:RadGridView.Columns>
        <telerik:RadGridView.RowDetailsTemplate>
            <DataTemplate>
                <telerik:RadGridView ItemsSource="{Binding DataContext, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadGridView}}}" Name="childGrid" ShowGroupPanel="False">
                </telerik:RadGridView>
            </DataTemplate>
        </telerik:RadGridView.RowDetailsTemplate>
    </telerik:RadGridView>
도움이 되었습니까?

해결책

ive basically found a solution - the DataContext of the child grid is whatever is bound to the parent grid...so that collection that is bound to the parent grid is the one the only the child grid sees...so I just added it to collection of my data context objects...but im curious to find out how to make the entire DataContext visible to the childgrid

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top