访问GridControl中的Comboboxedit

时间:2014-05-26 23:04:07

标签: c# wpf devexpress gridcontrol

我有一个包含组合框的Gridcontrol。 问题是如何在代码隐藏

中访问它

XAML

<dxg:GridControl x:Name="gridEntree" Margin="0,338,3,0" IsEnabled="True" GotFocus="gridEntree_GotFocus"  >
        <dxg:GridControl.Columns>
            <dxg:GridColumn  FieldName="CODE_MAT" Header="Materiel" >
                <dxg:GridColumn.EditTemplate>
                    <ControlTemplate>
                        <dxe:ComboBoxEdit x:Name="cmbmat" ItemsSource="{x:Static my:ds_stock.Data}"
                           DisplayMember="NOM_APPAREIL" ValueMember="CODE_MATERIEL"
                            SelectedIndexChanged="cmbmat_SelectedIndexChanged"  />
                    </ControlTemplate>
                </dxg:GridColumn.EditTemplate>
            </dxg:GridColumn>

1 个答案:

答案 0 :(得分:0)

首先,用于编辑单元格值的控件的Name属性必须设置为"PART_Editor"。 然后,您可以使用View的ShowEditor事件在Grid格式化单元格中真正显示之后访问编辑器:

void view_ShownEditor(object sender, DevExpress.Xpf.Grid.EditorEventArgs e) {
    if (e.Column.FieldName == "CODE_MAT") {
        var cmbmat = (ComboBoxEdit)e.Editor;
        // do something (e.g. subscribe events)
    }
}

编辑器关闭后,View会触发HiddenEditor事件 - 您可以处理此事件以解除某些更改(例如取消订阅编辑器事件)。

相关例子:
How to provide data for the ComboBoxEdit within a grid
How to: Use Custom Editors to Edit Cell Values