2014-08-30 21 views
13

JQuery iletişiminde kendo ızgara denetimi var. Diyalog modelinin doğru olduğu durumlar dışında iyi çalışır, şebeke filtresi üzerinde çalışamıyorum. Diyalog modeli yanlışsa, mükemmel çalışır. Modal gerçek bir tür işlevsellik uygulamak benim için şarttır.Kendo Grid içinde Jquery Dialog ile kipli Sorun Sayı

enter image description here

jQuery Diyalog kodu: Burada

konunun enstantanesidir

$('#dialog').dialog({ 
    title: 'Add Patient', 
    height: 'auto', 
    width: '95%', 
    position: ['top', 70], 
    draggable: false, 
    show: 'blind', 
    hide: 'blind', 
    modal: true, 
    resizable: false, 
    open: function (event, ui) { 
    var url='@Url.Action("AddPatient", "PatientManagement")'; 
    $(this).load(url); 
    }, 
    close: function (event, ui) { 
    $(this).html(''); 
    } 
}); 

Kendo ızgara:

@(Html.Kendo().Grid<RxConnectEntities.Patient>().Name("PatientList") 
    .Columns(columns => 
    { 
    columns.Bound(p => p.PatientID).Visible(false); 
    columns.Bound(p => p.LastName).Width(100); 
    columns.Bound(p => p.FirstName).Width(100); 
    columns.Bound(p => p.Gender).Width(80); 
    columns.Bound(p => p.DateOfBirth).Width(90).Format("{0:MM/dd/yyyy}").EditorTemplateName("DateOfBirth"); 
    columns.Bound(p => p.PhoneNumber).Title("Phone Number").Width(110); 
    columns.Command(command => 
    { 
     command.Custom("Edit").Text("Edit").Click("EditGrid"); 
    }).Width(120); 
    }) 
    .Filterable(f=>f.Enabled(true)) 
    .Pageable(p => p.PageSizes(true)) 
    .Scrollable() 
    .Sortable() 
    .Groupable() 
    .DataSource(dataSource => dataSource 
    .Ajax().ServerOperation(false) 
    .PageSize(5) 
    .Model(m => m.Id(p => p.PatientID)) 
    .Read(read => read.Action("GetPatientList", "PatientManagement")) 
    .Destroy(delete => delete.Action("Deletepatient", "PatientManagement")) 
)) 
+0

Konsol penceresinde herhangi bir hata mesajınız var mı? –

+0

@NicklasWinger Hayır. Herhangi bir hata yok. – Dhwani

+0

Tamam. Bu sadece rastgele bir şans olabilir, ama benim için benzer bir konuya sahip olduğum son seferde, doğrudan 'harita' yapması gerekse bile, kılavuzun javascript uygulamasının kullanılmasına gerçekten yardımcı oldu. –

cevap

9

kullanın KendoWindow sorununuzu çözecektir. Örnek: jQuery UI js ise

$('#dialog').kendoWindow({ 
    title: 'Add Patient', 
    height: 'auto', 
    width: '95%', 
    position: ['top', 70], 
    draggable: false, 
    show: 'blind', 
    hide: 'blind', 
    modal: true, 
    resizable: false, 
    open: function (event, ui) { 
    var url='@Url.Action("AddPatient", "PatientManagement")'; 
    $(this).load(url); 
    }, 
    close: function (event, ui) { 
    $(this).html(''); 
    } 
}); 
0

, sadece

bu sorunumu çözdü
enter code here 
this._delay(function() { 
       // Handle .dialog().dialog("close") (#4065) 
       if ($.ui.dialog.overlayInstances) { 
        this.document.bind("focusin.dialog", function(event){ 
         if (!that._allowInteraction(event)) { 
          event.preventDefault(); 
          $(".ui-dialog:visible:last .ui-dialog-content") 
           .data(widgetFullName)._focusTabbable(); 
         } 
        }); 
       } 
      }); 

, sizin gerek değiştirmek veya deneyin aşağıdaki kodu bulmaya sadece o

açıklama i Kendo açılan listesini kullanarak, Jquery UI iletişim kutusu ile

kullanarak, kendo açılan listesi açılır ve hemen kapanır, bu yüzden bu özel kod m akes bu olur.