2013-02-26 52 views
1

這是我的劍道網格,使用aspl.net mvc wrapper。問題在於您執行批處理內聯編輯時。並點擊保存。kendoUI,當你在劍道網格上進行批處理內聯編輯時,如何添加回調函數

.Create(create => create.Action("UpdateLiabilities", "Liability", parameters)) 

將被觸發並將所有更改保存到數據庫中。現在我需要添加一個回調函數來顯示帳戶成功添加的消息。我不知道如何添加此回調函數。

@(Html.Kendo().Grid<LiabilityVM>() 
    .Name("QualifiedNonrecourseDebtGrid") 
    .HtmlAttributes(new { style = "height: 300px;" }) 
    .Columns(columns => 
       { 
        columns.Bound(i => i.Id).Visible(false); 
        columns.Bound(i => i.AccountId).Visible(false); 

        columns.Bound(i => i.AccountNumber) 
         .Title("Account #") 
         .ClientTemplate("<span style='white-space:nowrap'><a href='\\#' onclick=\"showAccountInfo('acctInfoPopupContainer', " + parameters.clientId + ", " + parameters.projectId + ",#=WorkpaperId#, #=AccountId#, '#=AccountNumber#', '#=AccountNumberAndDescAndLabel#')\"> #= AccountNumber # </a></span>") 
         .HtmlAttributes(new { nowrap = "nowrap" }) 
         .Width(70); 
        columns.Bound(i => i.Description) 
         .Title("Description") 
         .ClientTemplate("<span href='\\#' title='#= getEncodedValueOrDefault(Description, '')#' style='white-space:nowrap'>#= getHtmlEncode(Description, '') #</span>") 
         .HtmlAttributes(new { nowrap = "nowrap" }) 
         .Width(120); 


       }) 
     .Editable(editable => editable.Mode(GridEditMode.InCell)) 
     .DataSource(grid => grid.Ajax() 
           .Batch(true) 
           .Model(model => { 
               model.Id(i => i.Id); 
               model.Field(p => p.AccountNumber).Editable(false); 
           }) 
           .ServerOperation(true).Group(groups => groups.Add(p => p.Source)) 
           .Create(create => create.Action("UpdateLiabilities", "Liability", parameters)) 
           .Read(read => read.Action("GetLiabilities", "Liability", parameters)) 
           .Update(update => update.Action("UpdateLiabilities", "Liability", parameters)) 
           .Aggregates(aggregates => 
             { 
              aggregates.Add(p => p.TaxAdjustmentBalance).Sum(); 
             }) 
) 
    .Sortable() 
    .Filterable() 
    .Selectable(s => s.Mode(GridSelectionMode.Single)) 
    .Resizable(resize => resize.Columns(true)) 
    .Reorderable(reorder => reorder.Columns(true)) 
    .ColumnMenu() 
    .Scrollable() 
) 

回答

4

返回JSONP而不是JSON(JavaScriptResult)的有一個特殊的事件對該被叫sync

你的情況應該是這樣的:

.DataSource(grid => grid.Ajax().Events(ev=>ev.Sync("theNameOfTHeCallBackFUnction"))) 
0

在UpdateLiabilities方法 作爲

const string alertMessage = "created"; 
string aMessage = string.Format("alert('{0}');", alertMessage); 
var returned = new JavaScriptResult { Script = aMessage }; 
return returned;