0

基本的にグリッドビューのセルの下にグリッドビューを配置するこのコードがあります-階層型表示です。

ただし、子グリッド ビューはデータ コンテキストを表示できません。

私は検索して多くのケースを試しましたが、うまくいきません。私のプログラムは、バインディング プロセス中にデッドロックが発生し、クラッシュすることについて不平を言っています...データ バインディングを子グリッドに表示する方法がわかりません...

<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>
4

1 に答える 1

0

私は基本的に解決策を見つけました - 子グリッドの DataContext は、親グリッドにバインドされているものです...そのため、親グリッドにバインドされているコレクションは、子グリッドだけが見るものです...だから私はそれを追加しました私のデータコンテキストオブジェクトのコレクションに...しかし、DataContext全体をchildgridに見えるようにする方法を知りたいです

于 2013-12-05T15:46:29.663 に答える