C# RadGrid在一行中显示值两次(重复)?

C# RadGrid在一行中显示值两次(重复)?,c#,asp.net,telerik,radgrid,duplicate-data,C#,Asp.net,Telerik,Radgrid,Duplicate Data,如果GridTemplateColumn具有UniqueName属性和标记,Telerik的RadGrid会显示两次值 <telerik:GridTemplateColumn HeaderText="Name" UniqueName="Name"> <ItemTemplate><%# Eval("Name") %></ItemTemplate> <EditItemTemplate><asp:TextBox ID="

如果
GridTemplateColumn
具有
UniqueName
属性和
标记,Telerik的RadGrid会显示两次值

<telerik:GridTemplateColumn HeaderText="Name" UniqueName="Name">
    <ItemTemplate><%# Eval("Name") %></ItemTemplate>
    <EditItemTemplate><asp:TextBox ID="txtProductName" runat="server" Text='<%# Eval("Name") %>' Width="100%" MaxLength="256" /></EditItemTemplate>
</telerik:GridTemplateColumn>

如果我删除
ItemTemplate
标记,它只显示一次值,但我想有条件地格式化该值,我想我需要
ItemTemplate
标记,因为我不想更新对象的属性(在本例中为
Name

我需要
UniqueName
属性作为嵌套层次结构表中使用的属性。如何控制显示值并仅显示一次

使用
ItemTemplate
标记的另一个问题是,网格中不存在展开/折叠按钮。我希望他们在场


您可以更改item data bind event
RadGrid1\u ItemDataBound
上的列

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
     if (e.Item is GridDataItem && !e.Item.IsInEditMode)
     {
         var dataBoundItem = e.Item as GridDataItem;
         var dto = (yourDto)e.Item.DataItem;
         dataBoundItem["Name"] = dto.Name + " special";
     }
}

为什么不在后端或数据视图中进行过滤?@Ravi:我不想改变实际值。例如,在上表中,我想使用ItemTemplate显示“Blue Blood special”。但是在编辑时,EditTemplate应该只显示“Blue Blood”。