2013-01-21 1 views
0

검도 표 인라인 편집 모드를 사용하고 편집 한 후 DropDownList에 대한 데이터 소스를 새로 고쳐야합니다.Kendo가 DropdownList 항목을 편집하는 대신에 추가합니다.

이유는 내 KendoGrid가 내 DropDownList에서 사용하는 데이터를 추가하고 편집해야하기 때문입니다. KendoGrid에서 데이터를 편집하는 데 아무런 문제가 없으며 아래 코드를 사용하여 DropDownList의 데이터를 새로 고칩니다.

var dropDownList = $("#Domains").data("kendoDropDownList"); 
        dropDownList.dataSource.read(); 

#Domains 내가 이미 DropDownList로 선택되어 데이터를 편집하는 경우에도

모든 작업을 잘 내 DropDownList로의 ID입니다. 그러나 KendoGrid (인라인 모드)에서 새 항목을 추가하고 DropDownList에서 동시에 선택한 이전 항목 중 하나를 편집하면 문제가 발생합니다.

이 상황에서 검도는 항목을 편집하지 않지만 편집 된 항목을 데이터 소스에 새 항목으로 추가하고 기존 항목과 편집 된 항목을 별도의 두 항목으로 만듭니다. 상황을 올바르게 전달할 수 있는지 알 수 없습니다.

내가 MVC를 사용하고 난이 데이터 소스를 정의하는 방법은 다음과 같이이다 :

.DataSource(dataSource => dataSource 
              .Ajax() 
              .Events(events => { events.Error("result_handler"); }) 
              .Model(model => model.Id(p => p.Id)) 
              .Create(create => create.Action("AddDomain", "Service", new { customerID = ViewBag.CustomerId })) 
              .Read(read => read.Action("GetDomainListForGrid", "Service", new { customerID = ViewBag.CustomerId })) 
              .Update(update => update.Action("EditDomain", "Service")) 
              .Destroy(destroy => destroy.Action("DeleteDomain", "Service")) 
             ) 

당신은 내가 위의 같은 model.Id 설정을 참조한다.

+0

이 _updated_ 항목에 대한 모델에서 'id'로 사용하는 것은 무엇입니까? – OnaBai

+0

필자는 필자의 대답으로 내 텍스트를 업데이트했습니다. –

+0

KendoUI는 ID의 값에 따라 생성 및 업데이트를 결정합니다. 그래서 내가 무엇을 사용하고 있는지 묻습니다. 이전 레코드의 'id'가 실제로 올바른지 확인 했습니까 (새 항목을 추가하기 전에는 이전과 동일합니다)? – OnaBai

답변

0

좋은 아이디어는 아닙니다. DropDownList 항목을 선택하기 전에 그리드의 데이터를 새로 고침하면 도움이됩니다.

var grid = $("#grid").data("kendoGrid"); 
        grid.dataSource.read(); 
관련 문제