Telerik RadGridView 集合自定义编辑器
本文关键字:编辑器 自定义 集合 RadGridView Telerik | 更新日期: 2023-09-27 18:34:37
我有一个绑定到TestType
ObservableCollection
的RadGridView
。
TestType
包含 3 个成员:
string TestString;
Int TestInt;
List<string> TestCollection;
我在ObservableCollection
中添加了 3 条记录.
绑定有效,我可以看到记录。
当我尝试编辑表时,我无法编辑TestList
成员单元格。
在 winforms 属性网格中,我添加了一个这样的EditorAttribute
:
[Editor typeof(CollectionUITypeEditor), typeof(UITypeEditor)].
此外,可以使用自定义编辑器(在属性网格中(编辑成员。
无论如何可以让自定义编辑器在单元格编辑中工作吗?
您需要 CellEditTemplate
:设置 CellTemplate 和 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( 的数据模板。