2013-02-26 56 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;