2017-10-19 9 views
0

이전에 선택되었지만 이제는 드롭 다운 목록 원본에서 제거 된 값을 드롭 다운 목록에 표시 할 수 있습니다. 공백으로 표시하는 대신. 드롭 다운 목록은 눈금 열에 있습니다.DropDownList는 선택된 값이 원본 인 경우 공백 값을 표시합니다.

그리드 : 그래서

@using System.Collections @( Html.Kendo().DropDownListFor(m => m) .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"]) .ValuePrimitive(true) .AutoWidth(true) ) 

더 자세히 설명하기

... 
columns.ForeignKey(p => p.CurrentCategory, @Model.LookupCategory, "CategoryName", "CategoryName").Width(160); 
... 

템플릿 편집기 다음 CurrentCategory 열이 텍스트 컬럼 (아닌 ID 열) 및 사용자 수입니다 LookupCategory에있는 항목 목록에서 선택하십시오. 그러나 항목이 LookupCategory에서 제거되면 사용자가 CurrentCategory에 대해이 값을 이미 선택한 인스턴스에 값이 여전히 표시되어야합니다.

현재 행에 LookupCategory 목록에없는 CurrentCategory 값이 들어 있으면 공백으로 표시됩니다.

아마 내가 대신에 콤보 박스를 사용해야합니까?

답변

1

LookupCategory와 삭제 된 항목의 합집합을 포함하는 다른 속성 AllCategory를 뷰 모델에 추가 할 수 있습니다. 이 속성은 모눈에서 메뉴 선택 항목을 바인딩하는 데 사용되며 LookupCategory 속성은 드롭 다운 소스로 사용됩니다.

외래 키 열 템플릿을 사용하는 동안 두 가지를 구분하는 방법은 아래를 참조하십시오.

columns.ForeignKey(p => p.CurrentCategory, Model.AllCategory, "CategoryName", "CategoryName") 
     .EditorViewData(new {lookupCategory = Model.LookupCategory}) 
.Width(160); 


@using System.Collections 

@(
Html.Kendo().DropDownListFor(m => m)  
     .BindTo((SelectList) ViewData["lookupCategory"])   
     .ValuePrimitive(true)   
     .AutoWidth(true) 
) 
+0

감사합니다. ViewData를 사용하지 않고 모델에서 직접 채울 방법이 없습니까? – Reafidy

+1

나는 그렇게 생각하지 않는다. –