编程语言
首页 > 编程语言> > C#-Telerik RadGridView集合自定义编辑器

C#-Telerik RadGridView集合自定义编辑器

作者:互联网

我有一个RadGridView绑定到TestType的ObservableCollection.

TestType包含3个成员:

string TestString;
Int TestInt;
List<string> TestCollection;

我在ObservableCollection中添加了3条记录.

绑定有效,我可以看到记录.

当我尝试编辑表时,无法编辑TestList成员单元格.

在winforms属性网格中,我添加了一个EditorAttribute,如下所示:

[Editor typeof(CollectionUITypeEditor), typeof(UITypeEditor)].

而且,该成员将可以使用自定义编辑器(在属性网格中)进行编辑.

无论如何,可以使自定义编辑器在单元格编辑中起作用吗?

解决方法:

您需要CellEditTemplate:Setting CellTemplate and CellEditTemplate

<telerik:RadGridView x:Name="MyGrid" AutoGenerateColumns="False" ItemsSource="{Binding TestTypeList}">
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn DataMemberBinding="{Binding TestString}" />
        <telerik:GridViewDataColumn DataMemberBinding="{Binding TestInt}" />
        <telerik:GridViewDataColumn DataMemberBinding="{Binding TestCollection}">
            <telerik:GridViewDataColumn.CellTemplate>
                <DataTemplate>
                    // Here give a template for the "TestCollection" when it is not in editing.
                </DataTemplate>
            </telerik:GridViewDataColumn.CellTemplate>
            <telerik:GridViewDataColumn.CellEditTemplate>
                <DataTemplate>
                    // Here give a template for the "TestCollection" when it is in editing.
                </DataTemplate>
            </telerik:GridViewDataColumn.CellEditTemplate>
        </telerik:GridViewDataColumn>           
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

当您将简单类型绑定到DataMemberBinding时,Telerik为您提供默认的“ CellTemplate”和默认的“ CellEditTemplate”作为绑定类型.

但是,如果将复杂类型绑定到DataMemberBinding,Telerik将不知道如何对其进行模板化,因此您需要为常规状态(CellTemplate)和编辑状态(CellEditTemplate)提供自己的数据模板.

标签:radgridview,telerik-grid,telerik,wpf,c
来源: https://codeday.me/bug/20191119/2032982.html