繁体   English   中英

DataGrid单元格中的组合框

[英]Combobox in a cell of DataGrid

我有一个数据库,其表名称为“ tblProducts”,列标题为“ ProductCode,描述,UnitPirce,数量,TotalPrice”

我在WPF表单中有一个DataGrid,并手动创建列标题,如下所示:

<DataGrid x:Name="dataGridOrderedProducts" Margin="10,10,10,0" Grid.Row="3" Grid.ColumnSpan="4" VerticalAlignment="Center" Height="180" BorderThickness="1">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Product Code" MinWidth="120" FontSize="11"/>
            <DataGridTextColumn Header="Descriptions" MinWidth="200" FontSize="11"/>
            <DataGridTextColumn Header="Unit Price" MinWidth="100" FontSize="11"/>
            <DataGridTextColumn Header="Quantity" MinWidth="100" FontSize="11"/>
            <DataGridTextColumn Header="Total Price" MinWidth="100" FontSize="11"/>
        </DataGrid.Columns>
    </DataGrid>

我想在“产品代码”列下的单元格中有一个组合框,以便用户可以选择一种产品并从该产品代码中查询所有相关数据。

我怎样才能做到这一点?

您可以通过两种方式做到这一点,

(i)。通过使用DataGridComboboxColom

 <DataGridComboBoxColumn Width="100" x:Name="cmbProduct" SelectedValueBinding="{Binding Code, Mode=TwoWay}" DisplayMemberPath="{Binding Code}"></DataGridComboBoxColumn>
</DataGrid.Columns>

(ii)使用DataTemplate

 <DataGridTemplateColumn Header="ProductCode">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Code}" />
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
        <DataGridTemplateColumn.CellEditingTemplate>
            <DataTemplate>
                <ComboBox ItemsSource="{Binding Codes}"></ComboBox>
            </DataTemplate>
        </DataGridTemplateColumn.CellEditingTemplate>
    </DataGridTemplateColumn>

暂无
暂无

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

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