Как оповещать успешно удалять после уничтожения сетки кендо?

StackOverflow https://stackoverflow.com//questions/24009348

Вопрос

Я использую сетку Kendo для отображения данных.Теперь я знаю, как спросить подтверждение делеции, хотя кендо сетки.Теперь я хочу отобразить оповещение, как удалить успешно после Sucessfull удаления записи.Как мне это сделать?Вот мой код сетки Kendo.

    @(Html.Kendo().Grid<RxConnectEntities.DeleteFileDTO>().Name("deleteList")
    .Columns(columns =>
    {
        columns.Bound(p => p.DeleteFaxID).Hidden(true);
        columns.Bound(p => p.FaxName).Width(100).Title("File Name");
        columns.Bound(p => p.PerformedDateTime).Width(75).Title("Archive Date").Format("{0:MM/dd/yyyy}");
        columns.Command(command => { command.Destroy().Text("Move"); }).Width(50);
        columns.Bound(p => p.FilePath).Hidden(true);
    })
    .Editable(editable => editable.Mode(GridEditMode.InLine).DisplayDeleteConfirmation("Are you sure want to Move this Finance File?"))
    .Pageable(p => p.PageSizes(true))
        .Scrollable()
        .Sortable()
        .Selectable(selectable => selectable.Mode(GridSelectionMode.Single).Type(GridSelectionType.Row))
        .Events(events => events.Change("onChange"))
        .Groupable()
    .Filterable(filterable => filterable.Extra(false).Operators(operators => operators.ForString(str => str.Clear().StartsWith("Starts with").Contains("contains").IsEqualTo("Is equal to"))))
    .HtmlAttributes(new { style = "height:738px;" })
        .DataSource(dataSource => dataSource
        .Ajax().ServerOperation(true)
        .PageSize(20)
        .Model(m => m.Id(p => p.DeleteFileID))
        .Read(read => read.Action("GetFileList", "Fax"))
    .Destroy(update => update.Action("MoveFileFromArchiveToQueue", "Operation"))
        ))
.

Это было полезно?

Решение

Изменить на это:

.Events(events => events.Change("onChange").Remove("YourFunctionForAfterDelete")
.

Тогда подтвердите из этого ...

Альтернативное существо, чтобы создать пользовательскую команду для удаления, использования сообщений AJAX и возврата / ошибок / ошибок ошибок в диалоговое окно или что-то подобное, что лучше, но взять немного больше кода и чтения.

columns.Command(commands =>
                      {
                          commands.Edit() data items
                          commands.Custom("Delete").Click("DeleteByAJAX"); // The "destroy" command removes data items
                      }).Width(95);
.

Другие советы

Я попробовал вышеуказанный метод и не мог заставить его работать по мере необходимости.Я вместо этого подписался на метод Onrequestend.У меня было несколько сообщений оповещения, которые мне нужно было бросить.1 Для успешного добавления записи 1 для успешного удаления записи и 1 для успешного обновления записи.

Я заполнил просмотр программа в контроллере на основе операции CRUD, которая произошла.

Затем я проверял значение ViewBag в поле зрения и бросил правильный оповещение о загрузке на странице Перезагрузка ...

@if (ViewBag.Alert == "Success")
{
<div class="alert alert-success alert-dismissible" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <strong>Record has been successfully added.</strong>
</div>
}

@if (ViewBag.Alert == "Deleted")
{
<div class="alert alert-success alert-dismissible" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <strong>Record has been successfully deleted.</strong>
</div>
}

@if (ViewBag.Alert == "Updated")
{
<div class="alert alert-success alert-dismissible" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <strong>Record has been successfully updated.</strong>
</div>
}
.

Я смог сделать страницу перезагрузить, когда сетка либо добавляла запись, обновляя запись или удаление записи, обнаруживая операцию со следующим JavaScript ....

<script>
function onRequestEnd(e)
{
    var operationType = e.type;

    if(operationType == "destroy" || operationType == "create" || operationType == "update")
    {
        location.reload();
    }
}
</script>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top