Syncfusion Datagrid: как добавить пользовательскую кнопку панели инструментов с действиями - PullRequest
0 голосов
/ 10 января 2020

У меня есть сетка Syncfusion Asp. Net с панелью инструментов. Стандартные кнопки работают. Я хотел бы добавить новую кнопку:

@{
    List<object> toolbarItems = new List<object>();
    toolbarItems.Add("Add");
    toolbarItems.Add("Edit");
    toolbarItems.Add("Delete");
    toolbarItems.Add("Update");
    toolbarItems.Add(new { text = "Click", tooltipText = "Click", id = "Click", click = @"/Management/Select" });
}

@Html.EJS().Grid("DataGrid").DataSource(ds => ds.Json(ViewBag.datasource).UpdateUrl("/Management/Update").InsertUrl("/Management/Insert").RemoveUrl("/Management/Remove").Adaptor("RemoteSaveAdaptor")).Columns(col =>
{

    col.Field("id").IsPrimaryKey(true).Visible(false).Add();
    col.Field("ResourceGroup").HeaderText("Source VM Resource Group").Add();
    col.Field("VMName").HeaderText("Source VM Name").Add();
    col.Field("imageVersion").HeaderText("Image Version").Add();

}).ActionFailure("OnActionFailure").AllowTextWrap(true).TextWrapSettings(text => { text.WrapMode(Syncfusion.EJ2.Grids.WrapMode.Header); }).AllowPaging().FilterSettings(filter => { filter.Type(Syncfusion.EJ2.Grids.FilterType.Menu); }).EditSettings(edit => { edit.AllowAdding(true).AllowEditing(true).AllowDeleting(true).ShowDeleteConfirmDialog(true).Mode(Syncfusion.EJ2.Grids.EditMode.Dialog); }).Toolbar(toolbarItems).Render()

и заставить эту кнопку перейти к действию контроллера:

public class ManagementController : Controller
{       
    public ActionResult Select(CRUDModel<Source> newItem)
    {
        using (var context = new ImageStormEntities())
        {
            context.Sources.Add(newItem.Value);
            context.SaveChanges();
        }

        return Json(newItem.Value);
    }
...