написание скрипта / функции для флажков и кнопки Custom Delete в Telerik UI для ASP. NET MVC - PullRequest
1 голос
/ 05 февраля 2020

Мне нужна помощь в написании скрипта / функции для моего Telerik UI для программы asp. net MVC. У меня есть кнопка удаления на панели инструментов, и я думаю, что мой скрипт подходит для его удаления. Теперь мне сказали, что у моих флажков есть сценарий, который также должен быть удален при проверке. Как C# кодер, я не совсем осведомлен о Json кодировании. Таким образом, любая помощь будет оценена! Вот мой код ниже.

@(Html.Kendo().Grid<MVCSQLDatabase.Models>()
      .Name("Grid")
      .DataSource(dataSource => dataSource
          .Ajax()
          .PageSize(10)
          .Batch(true)
          .Model(model => model.Id(p => p.Proposal_Uid))
          .Read(read => read.Action("Proposals_Read", "Grid"))
          .Create(create => create.Action("Proposals_Create", "Grid"))
          .Update(update => update.Action("Proposals_Update", "Grid"))
          .Destroy(destroy => destroy.Action("Proposals_Destroy", "Grid"))
      )
          .Resizable(resize => resize.Columns(true))

      .Columns(columns =>
      {
          columns.Select().Width(100); //<-- my check boxes code.
          columns.Bound(c => c.Prime).Width(215);
          columns.Bound(c => c.Proposal).Width(200);
          columns.Bound(c => c.C).Width(190);
          columns.Bound(c => c.Cl).Width(185);
          columns.Bound(c => c.T).Width(290);
          columns.Bound(c => c.M).Width(220);
          columns.Bound(c => c.S).Format("{0: dd/MM/yyyy}").Width(170);
          columns.Bound(c => c.E).Format("{0: dd/MM/yyyy}").Width(170);
          columns.Bound(c => c.P).Width(235);
          columns.Bound(c => c.Con).Width(215);
          columns.Command(command => { command.Destroy(); }).Width(180);// <--- My delete button in my column
      })
      .ToolBar(toolbar =>
          {
          toolbar.Create();
          toolbar.Save();
          toolbar.Excel();
          toolbar.Custom().Text("Delete").Name("batchDestroy").IconClass("k-icon k-i-close"); //<-- my custom made delete button in my toolbar.
      })
      .ColumnMenu()
      .Editable(editable => editable.Mode(GridEditMode.InCell))
      .Pageable()
      .Selectable(selectable =>
          {
          selectable.Mode(GridSelectionMode.Multiple);
          selectable.Type(GridSelectionType.Row);
      })
      .PersistSelection()
      .Filterable(filterable => filterable.Mode(GridFilterMode.Row))
      .Scrollable()
      .HtmlAttributes(new { style = "height:835px;" })

)

    <script>
        $("#grid").on("click", "batchDestroy", function() {
        var $tr = $(this).closest("tr"),
        grid = $("#grid").data("kendoGrid"),
        dataItem = grid.dataItem($tr);
        grid.dataSource.remove(dataItem);
});
    </script>

1 Ответ

0 голосов
/ 10 февраля 2020

Вот код для всех, кто застрял в этой ситуации. Больше всего меня привлекла функция .done, которая завершает функцию нажатия кнопки, а затем сохраняет сетку ПОСЛЕ удаления. Надеюсь, это поможет другим!


 <script>
        $(document).ready(function ()
        {
            $(".k-grid-Destroy").on("click", function (e)
            {
                e.preventDefault();
                var grid = $("#Grid").data("kendoGrid");
                var selectedRows = grid.select();
                kendo.confirm(kendo.format("Are you sure you wish to delete {0} records?", selectedRows.length))
                    .done(function ()
                    {
                        $.each(selectedRows, function (i, row)
                        {
                            grid.removeRow(row);
                        })
                        grid.saveChanges();
                    });
            });
        });
    </script>


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...