繁体   English   中英

DataGrid RowDetails?

[英]DataGrid RowDetails?

我有显示项目列表的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相关的表。

现在,当我添加Item并为其添加Choice时,Item出现在数据网格中,但是现在出现详细信息?

尝试:

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

myRoot在这里是什么? 您无需在此处提供ElementName 如果ocChoiceRecordocItemsinInvoice集合的item的属性。 您可以像下面这样直接绑定它。 这样,每行明细将绑定到其Item。

 <ListBox ItemsSource="{Binding ocChoiceRecord}">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM