2012-08-28 4 views
1

두 개의 검도 UI 창 컨트롤이 있습니다. 검색 버튼과 함께 고객 세부 정보를 얻는 첫 번째 (상위) 창. 둘째 (아이) 창두 검도 UI 창 컨트롤간에 데이터를 전달하는 방법

검색 결과가

제목 이름 성 주소 1 Subrub
씨 존 Karter 고얄처럼, 자식 윈도우의 그리드 컨트롤에 표시됩니다 .. 고객 이름, 성 등을 사용하여 고객을 검색하려면 정원, NSW
미스 에밀 왓슨 정원 갈색, VC

내가 그리드의 모든 고객을 선택하면, 내가 먼저 (부모) 윈도우의 해당 컨트롤에서 고객의 세부 사항을 채울 필요가있다. 그래서 내가 여기

@(Html.Kendo().Grid((IEnumerable<OnlineABThemes.Data.GetCustomers_Result>)ViewData["CustomerSearchGrid"]) 
    .Name("ChildWindowCustomerGrid") 
    .Columns(columns => { 
     columns.Bound(p => p.ID).Visible(false); 
     columns.Bound(p => p.Title).Width(60); 
     columns.Bound(p => p.FirstName).Width(130); 
     columns.Bound(p => p.LastName).Width(100); 
     columns.Bound(p => p.Address1).Width(150); 
     columns.Bound(p => p.Suburb).Width(80); 
     columns.Bound(p => p.State).Width(80); 
     columns.Bound(p => p.PostCode).Width(120); 
     columns.Bound(p => p.Phone).Width(100); 
     columns.Bound(p => p.Mobile).Width(100); 
     columns.Bound(p => p.Email).Width(120); 
    }) 
    .Sortable() 
    .Scrollable() 
    .Filterable() 
    .DataSource(ds => ds.Server() 
    .Model(model => model.Id(p=>p.ID)) 
) 
.Selectable(s=>s.Mode(GridSelectionMode.Single)) 
.Events(events => events.Change("CustomerChanged")) 
) 

다음과 같이 변경 이벤트에 JS 함수를 호출하는 것은 내 JS 기능

function CustomerChanged() { 
    var grid = $('#ChildWindowCustomerGrid').data('kendoGrid'); 
    var customerID = grid.select("ID"); 

    $.ajax({<br> 
     url: "/Customer/GetCustomer", 
     type: "POST", 
     data: { customerId: customerID } 
    }) 

    $("#childWindow").data("kendoWindow").close(); 
    .fail(function (r, o) { 
     alert("Failed : " + r.responseText); 
    }); 
} 

I없는 방법 첫 번째에있는 고객 정보를 채우기 위해 고객 ID와를 얻을 수 (부모) 창입니다 . 즉, l 고객 ID를 한 창에서 다른 창으로 전달하여 고객 세부 사항을 채우는 방법.

감사
Santhosh는

답변

0

나는 전적으로 당신의 코드를 따라 말할 수 없다, 그러나 이것은 도움이 될 수 있습니다. Kendo 윈도우 컨트롤은 1) iframe에 다른 URL을로드하는 방식과 2) 창처럼 보이는 div에 내용을로드하는 방식의 두 가지 모드로 작동합니다. 첫 번째 시나리오로 작업하는 경우 window.opener, window.parent 또는 window.top (수행하려는 작업에 따라 다름)을 호출하고 상위 창에 대한 참조를 그런 식으로 호출하여 고객 ID를 전달할 수 있습니다. 두 번째 시나리오에서 작업하는 경우 모든 창에서 액세스 할 수있는 현재 선택 사항을 저장하기 위해 일종의보기 모델을 사용할 수 있습니다. 어쩌면 이것이 몇 가지 아이디어를 발산 할 수도 있지만, 코드를 좀 더 게시하면 솔루션에 대한 구체적인 정보를 얻을 수 있습니다.