【问题标题】:Combobox in a cell of DataGridDataGrid 单元格中的组合框
【发布时间】:2014-06-22 04:22:30
【问题描述】:

我有一个表名为“tblProducts”的数据库,列标题为“ProductCode、Descriptions、UnitPirce、Quantity、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>

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

我该怎么做?

【问题讨论】:

    标签: c# wpf datagrid combobox


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-02-18
      • 2012-04-05
      • 2011-04-20
      • 2012-10-06
      • 1970-01-01
      • 2013-06-16
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多