1

我有一个 dxg:GridControl,其中我有 dxg:GridColumn 并且在每一行上都有一个显示和编辑模板,如下所示

<dxg:GridControl>
    <dxg:GridControl.Columns>
          <dxg:GridColumn Width="101"
                                AllowBestFit="True"
                                AllowColumnFiltering="True"
                                AllowSorting="False"
                                FieldName="Tolerance"
                                Header="Tolerance Type"
                                ReadOnly="{Binding IsReadOnly}">
                    <dxg:GridColumn.EditTemplate>
                        <ControlTemplate>
                            <dxe:ComboBoxEdit
                                        x:Name="PART_Editor"
                                        Width="100"
                                        ItemsSource="{Binding Path=DataContext.ToleranceTypeCollection,
                                                                          RelativeSource={RelativeSource FindAncestor,
                                                                                                         AncestorType={x:Type UserControl}}}"
                                        SelectedItem="{Binding RowData.Row.Tolerance}"
                                        DisplayMember="ToleranceType"
                                        FilterCondition="Contains"
                                        ImmediatePopup="True"
                                        IncrementalFiltering="True"
                                        IsTextEditable="False"
                                        ValueMember="ToleranceTypeId"
                                        ShowSizeGrip="True"
                                        TextWrapping="WrapWithOverflow"
                                        Style="{DynamicResource DXEComboBoxEditStyle}" />
                            <ControlTemplate.Triggers>
                                <DataTrigger Binding="{Binding Path=DataContext.ToleranceTypeCollection.Count, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="0">
                                    <Setter TargetName="PART_Editor" Property="IsEnabled" Value="False" />
                                </DataTrigger>
                                <DataTrigger Binding="{Binding DataContext.IsReadOnly, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="True">
                                    <Setter TargetName="PART_Editor" Property="IsEnabled" Value="False" />
                                </DataTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </dxg:GridColumn.EditTemplate>
                    <dxg:GridColumn.DisplayTemplate>
                        <ControlTemplate>
                            <TextBlock Margin="5,0,0,0" VerticalAlignment="Center" Text="{Binding RowData.Row.Tolerance.ToleranceType}" />
                        </ControlTemplate>
                    </dxg:GridColumn.DisplayTemplate>
                </dxg:GridColumn>

    </dxg:GridControl.Columns>
</dxg:GridControl>

显示模板上的值很好,但是在单击单元格时,控件更改为 dxe:ComboBoxEdit 但它不会自动从下拉列表中的值列表中选择保存的值,因此显示模板的文本框上的值在之后丢失点击其他地方。

使用 Dev Express v 18.1

请帮忙就一样 谢谢

4

0 回答 0