2011-05-05 4 views
0

나는 ICD 설명과 관련 HCC 카테고리 설명을 표시 할 필요가있는 의료용 애플리케이션을 개발 중입니다. ICD 및 HCC 종류는 다음과 같다 : 동일한 속성 이름이있는 Telerik 그리드

public class ICD { 
    public String Code { get; set; } 

    public String Description { get; set; } 

    public HCC HCC { get; set; } 
} 

public class HCC { 
    public Int32 ID { get; set; } 

    public String Description { get; set; } 
} 

내가 ICD 개체 목록에 Telerik MVC 확장 그리드를 결합

, 나는과 같이 열을 설정 해요 :

this.Html.Telerik().Grid(this.Model.ICDs) 
    .Name("ICDGrid") 
    .DataKeys(keys => keys.Add(icd => icd.Code)) 
    .DataBinding(binding => { 
     binding.Ajax().Select(this.Model.AjaxSelectMethod); 
     binding.Ajax().Update(this.Model.AjaxUpdateMethod); 
    }) 
    .Columns(columns => { 
     columns.Bound(icd => icd.ICDType.Name).Title("ICD 9/10"); 
     columns.Bound(icd => icd.Code); 
     columns.Bound(icd => icd.Description); 
     columns.Bound(icd => icd.HCC.Description).Title("HCC Category") 
     columns.Command(commands => commands.Delete()).Title("Actions").Width(90); 
    }) 
    .Editable(editing => editing.Mode(GridEditMode.InCell).DefaultDataItem(new ICD())) 
    .ToolBar(commands => { 
     commands.Insert(); 
     commands.SubmitChanges(); 
    }) 
    .Sortable() 
    .Filterable() 
    .Pageable(paging => paging.PageSize(12)) 
    .Render(); 

문제 ICD와 HCC 모두 "Description"이라는 속성을 가지고 있으며 그 점에 대해서는 제어 할 수 없습니다. Telerik이 생성하는 JavaScript에서 여러 가지를 호출하도록 Telerik에 지시하는 방법이 있습니까? ICDDescription 및 HCCDescription과 같은 것?

답변

1

현재 속성의 별칭을 지정할 수 없습니다. 당신이 할 수있는 것은 ViewModel 객체를 생성하는 것입니다. 그리드를 ViewModel 객체에 바인딩합니다. 다음 코드는 다음과 같습니다

public class ICDViewModel 
{ 
    public string Description 
    { 
     get; 
     set; 
    } 
    public string HCCDescription 
    { 
     get; 
     set; 
    } 
    // The rest of the properties of the original ICD class 
} 

은 그럼 당신은 ICDViewModel를 사용하는 Model.ICDs의 유형을 변경해야합니다. ,

Model.ICDs = icds.Select(icd => new ICDViewModel 
{ 
    Description = icd.Description, 
    HCCDescription = icd.HCC.Description 
    /* set the rest of the ICD properties */ 
}); 
+0

네을 나는 종류의 ICD로이를 방지 싶어했고 HCC 클래스는 이미 뷰 모델의 일부 위치 : ICDViewModel에 ICD를 매핑 할 Select 확장 방법을 사용할 수 있습니다. 오 잘. .. 그것을 완전히 가지고있을 수 없다. 귀하의 답변 주셔서 감사합니다! – Yuck