私はケンドグリッドを持っています。さて、私は、各行の最後に表示されるクライアントテンプレートにカスタムボタンを持っています。この行を変更すると、変更がdbで行われますが、グリッドには反映されません。ケンドグリッドがリフレッシュしない
ボタンの2回目をクリックすると、一番奇妙なことはすべて動作します。ここ
コードです:
$('#custom-generic-modal.modal-content').off('click', '#btnSave').on('click', '#btnSave', function() {
var permissions = $('#divNav .k-state-selected').attr('data-permissionid');
var currentPage = grid.dataSource.page();
$.ajax({
//global: false,
type: 'GET',
url: 'Allergy/AllergiesTab?permissions=' + permissions,
async: 'false',
success: function (page) {
$("#PageDiv").html(page);
console.log('success')
},
complete: function() {
$.get("Page/PageTab?permissions=" + permissions, function(page) {
$("#PageDiv").html(page);
helpers.notify("Retraction successful.", "success");
}).done(function() {
var grid = $("#Grid").data("kendoGrid");
grid.dataSource.page(currentPage);
grid.refresh();
console.log('complete')
});
}
});
})。ここで
は私のグリッドです:
@(Html.Kendo().Grid(Model.grid)
.Name("Grid")
.ClientDetailTemplateId("template")
.HtmlAttributes(new { style = "height: 450px;" })
.Columns(c =>
{
c.Bound(x => x.IsAllergy).Title("").Width("13%").ClientTemplate(@"<span class='#if(IsRetracted){#strike-through#}#'>#if (IsAllergy){#<span><b> Allergy </b></span>#}# #if (!IsAllergy){#<span><b> Sensitivity </b></span>#}# </span>");
c.Bound(x => x.AllergyDescription).Title("Allergen/Sensitivity").Width("24%").ClientTemplate(@"<span class='#if(IsRetracted){#strike-through#}#'>#if (AllergyDescription != null){#<span><b> #= AllergyDescription # </b></span>#}# #if (AllergyDescription == null){#<span><b> N/A </b></span>#}# </span>");
//AllergyType(Food,drug,ev)
c.Bound(x => x.AllergySeverityDescription).Title("Severity").Width("13%").ClientTemplate(@"<span class='#if(IsRetracted){#strike-through#}#'>#if (AllergySeverityDescription != null){#<span> #= AllergySeverityDescription # </span>#}# #if (AllergySeverityDescription == ''){#<span> N/A </span>#}# </span>");
c.Bound(x => x.AllergyReactionDescription).Title("Reaction").Width("13%").ClientTemplate(@"<span class='#if(IsRetracted){#strike-through#}#'>#if (AllergyReactionDescription != null){#<span> #= AllergyReactionDescription # </span>#}# #if (AllergyReactionDescription == ''){#<span> N/A </span>#}# </span>");
c.Bound(x => x.TreatmentComments).Title("Treatment Comments").Width("24%").ClientTemplate(@"<span class='#if(IsRetracted){#strike-through#}#'>#if (TreatmentComments != null){#<span> #= TreatmentComments # </span>#}# #if (TreatmentComments == null){#<span> N/A </span>#}# </span>");
c.Template(@<text></text>)
//.ClientTemplate(@" #if(!IsActive) {#<a class='notes-btn'><span class='glyphicon glyphicon-pencil'></span></a> #if(!IsRetracted) {#<a class='notes-btn' onclick='retractAllergyInit(#= PersonAllergyId #)'><span class='glyphicon glyphicon-minus-sign'></span></a>#}}#")
.ClientTemplate(@" #if(!IsActive) {#<a class='notes-btn'><span class='glyphicon glyphicon-pencil'></span></a> #if(!IsRetracted) {#<a class='notes-btn modal-link' href='Retract/Retract?typeId=#= PersonAllergyId #&retractType=5' data-ajax='true' data-ajax-method='GET' data-ajax-mode='replace'><span class='glyphicon glyphicon-minus-sign'></span></a>#}}#")
.Title("Actions").Width("12%");
}
)
.Pageable(pager => pager.Messages(m => m.Empty("No Results Found")))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.ServerOperation(false))
)