kendo网格自定义命令不显示

时间:2014-10-17 12:23:15

标签: asp.net-mvc asp.net-mvc-4 kendo-grid kendo-asp.net-mvc

我正在创建一个Kendo Grid,我想要一个可以将两个参数传递给我的mvc控制器方法的自定义命令。现在这里是我网格的代码:

  @(Html.Kendo().Grid<iPlan.Syspro.Beekman.Portal.Agents.Models.SalesOrderDetailViewModel>()
.Name("Details")
.HtmlAttributes(new {@style = "width:80vw"})
.Columns(columns =>
{

    columns.Bound(c => c.Agent).Width(100);
    columns.Bound(c => c.SalesOrder).Width(150);
    columns.Bound(c => c.Line).Width(60);
    columns.Bound(c => c.StockCode).Width(150);
    columns.Bound(c => c.SerialNumber).Width(150);
    columns.Bound(c => c.DerivativeDescription).Width(150);
    columns.Bound(c => c.StockCodeDescription).Width(150);
    columns.Bound(c => c.OrderQty).Width(150);
    columns.Bound(c => c.OnBackorder).Width(150);
    columns.Bound(c => c.QtyAvailable).Width(150);
    columns.Bound(c => c.ShippedQuantity).Width(150);
    columns.Bound(c => c.SalesPrice).Width(150);
    columns.Bound(c => c.AlternativeSerial).Width(150);
    columns.Bound(c => c.AlternativeSerialReason).Width(150);
    columns.Bound(c => c.VinNr).Width(150);
    columns.Bound(c => c.DealerOrderNr).Width(150);
    columns.Bound(c => c.WipNr).Width(150); 
    columns.Bound(c => c.GrnNr).Width(150);
    columns.Bound(c => c.AsnNr).Width(150);
    columns.Bound(c => c.DeliveryNoteNr).Width(150);  
    columns.Command(command => {command.Edit(); command.Destroy();}).Width(172);        
    columns.Command(command => command.Custom("BlaBla").Click("approve").Text("Approve"));    
})      

.Editable(editable => editable.Mode(GridEditMode.InLine))
.Sortable()
.Scrollable()
.Groupable()
.Pageable(pageable => pageable
    .Refresh(true)
    .PageSizes(true)
    .ButtonCount(5))    
.DataSource(dataSource => dataSource
    .Ajax()
    .Events(events => events.Error("error_handler"))
    .Read(read => read.Action("SalesOrdersDetail_Read", "Inbox").Data("getSalesOrder"))
    .Update(update => update.Action("SalesOrdersDetail_Update","InboxAgent"))
    .Destroy(destroy => destroy.Action("SalesOrdersDetail_Destroy","InboxAgent"))
    .Create(create => create.Action("SalesOrdersDetail_Create","InboxAgent"))
    .Model(model => 
    {
        model.Id(p => p.SalesOrder);
        model.Field(p => p.StockCode).Editable(false);
        model.Field(p => p.SerialNumber).Editable(false);
        model.Field(p => p.DerivativeDescription).Editable(false);
        model.Field(p => p.StockCodeDescription).Editable(false);
        model.Field(p => p.SalesOrder).Editable(false);            
        model.Field(p => p.Agent).Editable(false);
        model.Field(p => p.Line).Editable(false);
        model.Field(p => p.OrderQty).Editable(false);
        model.Field(p => p.OnBackorder).Editable(false);
        model.Field(p => p.QtyAvailable).Editable(false);
        model.Field(p => p.ShippedQuantity).Editable(false);

    })        

))

现在的问题是,我甚至没有为我正在尝试创建的自定义命令显示列。我在一个视图网站上看过,其中很少提到Kendo Grid自定义命令可能包含一个bug。如果是这样,有人可以告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

试试这个

command.Custom("Delete").SendDataKeys(true).Click("PropertyPage.DeleteProperty");

或浏览this link