0

私はDataGridアイテムのリストを表示しています。各アイテムにはおそらく詳細があります。これが私のコードです:

<DataGrid x:Name="dgItemsReceipt" CanUserAddRows="True" ItemsSource="{Binding ocItemsinInvoice,Mode=TwoWay}">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Item" Binding="{Binding Item.ItemName}" Width="*" IsReadOnly="True"/>
                <DataGridTextColumn Header="Price" Binding="{Binding SalePrice,Mode=TwoWay}" Width="100" IsReadOnly="False"  />
                <DataGridTextColumn Header="Qnt" Binding="{Binding Quantity,Mode=TwoWay}" Width="100" IsReadOnly="False"  />
            </DataGrid.Columns>

            <DataGrid.RowDetailsTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding ItemsInInvoiceChoices.ChoicesId}" />
                </DataTemplate>
            </DataGrid.RowDetailsTemplate>           

ItemsInInvoiceChoices は、ItemsinInvoice との関連テーブルです。

アイテムを追加して選択肢を追加すると、アイテムはデータ グリッドに表示されますが、詳細は表示されますか?

4

2 に答える 2

0

myRootここは何ですか?ここで与える必要はありませんElementName。コレクションocChoiceRecordのアイテムのプロパティである場合。ocItemsinInvoice以下のように直接バインドできます。このようにして、各行の詳細がそのアイテムにバインドされます。

 <ListBox ItemsSource="{Binding ocChoiceRecord}">
于 2013-10-31T15:08:38.193 に答える
0

試す:

        <DataGrid.Columns>
            <DataGridTextColumn Header="Item Name" Binding="{Binding Item.ItemName}" Width="*" IsReadOnly="True"/>
            <DataGridTextColumn Header="Price" Binding="{Binding SalePrice,Mode=TwoWay}" Width="100" IsReadOnly="False"  />
            <DataGridTextColumn Header="Quantity" Binding="{Binding Quantity,Mode=TwoWay}" Width="100" IsReadOnly="False"  />
        </DataGrid.Columns>

        <DataGrid.RowDetailsTemplate>
            <DataTemplate>
                <ListBox ItemsSource="{Binding {RelativeSource FindAncestor, AncestorType=DataGrid}, Path=ocChoiceRecord, ElementName=myRoot}">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding RecordDescription}" />
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </DataTemplate>
        </DataGrid.RowDetailsTemplate>

    </DataGrid>
于 2013-10-31T14:21:01.403 に答える