2012-08-28 2 views
1

J'ai deux contrôles de fenêtre d'interface utilisateur de kendo. Première (parent) fenêtre pour obtenir les détails du client, avec le bouton de recherche. Deuxième fenêtre (enfant) pour rechercher le client à l'aide prenom client, nom, etc ..comment transmettre des données entre deux contrôles de fenêtre d'interface utilisateur kendo

résultat de la recherche indiqué dans le contrôle de la grille de la fenêtre de l'enfant, comme

Titre FirstName LastName Adresse1 Subrub
M. John Karter Goyal jardin, NSW
Mlle Emile Watson jardin brun, VC

Si je choisis un client dans la grille, je dois remplir les détails du client dans les contrôles correspondants de première fenêtre (parent). Je demande donc la fonction js sur l'événement de changement comme ci-dessous

@(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")) 
) 

Voici ma fonction 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); 
    }); 
} 

Je incapable d'obtenir le customerID et la façon de remplir les coordonnées du client qui est dans la fenêtre First (parent) . c'est-à-dire, comment remplir les détails du client en passant le code client d'une fenêtre à une autre.

grâce
Santhosh

Répondre

0

Je ne peux pas dire que je tout à fait votre code suivre, mais cela peut être utile. Le contrôle de fenêtre de Kendo fonctionne dans deux modes: 1) en chargeant une autre URL dans un iframe, et 2) en chargeant le contenu dans un div qui ressemble juste à une fenêtre. Si vous travaillez avec le premier scénario, vous pouvez renvoyer l'ID du client en appelant le window.opener, window.parent ou window.top (en fonction de ce que vous essayez de faire) et obtenir une référence à la fenêtre parent de cette façon. Si vous travaillez dans le deuxième scénario, vous pouvez utiliser un modèle de vue pour stocker votre sélection actuelle accessible dans toutes les fenêtres. Peut-être que cela suscitera quelques idées, mais si vous publiez un peu plus de votre code, je peux probablement obtenir plus de détails sur une solution.

Questions connexes