2012-08-28 8 views
1

У меня есть два окна управления окнами для кендо. Первое (родительское) окно, чтобы получить сведения о клиенте, а также кнопку поиска. Во-вторых (ребенок) окно для поиска клиента с помощью ПгвЬЫате клиента, фамилия и т.д ..как передавать данные между двумя окнами управления kendo UI

Результаты поиска будут показаны на управляющей сетке дочернего окна, как

Название Имя Фамилия ADDRESS1 Subrub
г-н Джон картер Goyal сад, NSW
мисс Уотсон Emile Сад коричневый, VC

Если я выбрать любой клиент в сети, мне нужно заполнить информацию о клиенте в соответствующих элементах управления первого окна (родитель). Поэтому я вызвать функцию JS на события изменения, как показано ниже

@(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 функция

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); 
    }); 
} 

не смог получить CUSTOMERID и как заполнять сведения о клиенте, который находится на первом окне I (родитель) , т.е., как заполнять детали клиента, передавая идентификатор клиента из одного окна в другое окно.

благодаря
Santhosh

ответ

0

Я не могу сказать, что я полностью следовать код, но это может быть полезным. Окно управления Kendo работает в двух режимах: 1) путем загрузки другого URL-адреса в iframe и 2) путем загрузки содержимого в div, который выглядит просто как окно. Если вы работаете с первым сценарием, вы можете передать идентификатор клиента, вызвав window.opener, window.parent или window.top (в зависимости от того, что вы пытаетесь сделать) и таким образом получить ссылку на родительское окно. Если вы работаете во втором сценарии, вы можете использовать какую-то модель представления для хранения текущего выбора, доступного во всех окнах. Возможно, это зажжет некоторые идеи, но если вы разместите немного больше своего кода, я, вероятно, смогу более подробно рассказать о решении.