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”。