2012-03-20 4 views
0

Telerik의 RadGrid는 GridTemplateColumn의 값이 UniqueName이고 <ItemTemplate> 태그 인 경우 값을 두 번 표시합니다.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).

NestedHierarchy 테이블에서 사용되는 속성으로 UniqueName 속성이 필요합니다. 디스플레이 값을 제어하고 단 한번만 표시하려면 어떻게합니까?

ItemTemplate 태그가있는 것과 관련된 문제가 하나 더 있는데, 확장/축소 버튼이 눈금에 없습니다. 나는 그들에게 선물을주고 싶다.

Duplicate values showed in same row

+1

왜 당신은 그것을 backEnd 또는 Dataview에서 필터링합니까 ??? –

+0

@Ravi : 실제 값이 변경되기를 원하지 않습니다. 예를 들어 위의 표에서 ItemTemplate을 사용하여 "Blue Blood special"을 표시하고 싶습니다. 그러나 Edit에서 EditTemplate은 "Blue Blood"만 표시해야합니다. –

답변

1

당신은 항목 데이터 바인딩 이벤트 RadGrid1_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"; 
    } 
} 
+0

감사합니다. 그거야. –