Nano Hash - криптовалюты, майнинг, программирование

После того, как я нажимаю кнопку «Обновить» в Kendo Grid, вставка в базу данных работает, но это не приводит к выходу сетки из режима редактирования.

Ниже моя сетка.

Если вы посмотрите на событие save:, вы заметите вызов AJAX.

Этот вызов AJAX запускается, данные вставляются в базу данных, и я даже вижу, как проходит функция оповещения. Однако сетка не выходит из режима редактирования для строки, которую я редактирую на месте. Я не уверен, что происходит, потому что сообщение об ошибке ужасно. Я продолжаю получать:

TypeError: Cannot read property 'data' of undefined [http://localhost/x/Scripts/kendo.web.min.js:13]

Вот сетка:

function directorsOrRecipients(e)
{
    awardTitleId = e.data.AwardTitleId;

    var detailRow = e.detailRow;

    detailRow.find(".childTabstrip").kendoTabStrip({
        animation: {
            open: { effects: "fadeIn" }
        }
    });

    detailRow.find(".directorsOrRecipients").kendoGrid({
        reorderable: true,
        resizable: true,
        dataSource: {
            transport: {
                read: {
                    url: "http://localhost/x/api/Awards/directors/" + awardTitleId,
                    type: "GET"
                },
            },
            schema: {
                model: {
                    id: "AwardDirectorId",
                    fields: {
                        "AwardDirectorId": { editable: false, type: "number" },
                        "namefirstlast": { editable: true, type: "string" },
                        "directorsequence": { editable: true, type: "number", validation: { min: 1 } },
                        "isonballot": { editable: true, type: "string" },
                        "concatenation": { editable: true, type: "string" },
                        "MoreNames": { editable: true, type: "number", validation: { min: 0 } },
                    }
                }
            }
        },
        columns: [
            { field: "AwardDirectorId", title: "Award Director Id" },
            { field: "namefirstlast", title: "Name", editor: namesAutoComplete },
            { field: "directorsequence", title: "Director Sequence", format: "{0:n0}" },
            { field: "isonballot", title: "On ballot?", editor: onBallotDropDownEditor },
            { field: "concatenation", title: "Concatenation" },
            { field: "MoreNames", title: "More names?", format: "{0:n0}" },
            { command: ["edit"], title: " ", width: 100 }],
        sortable: true,
        sort: { field: "namefirstlast", dir: "desc" },
        editable: "inline",
        toolbar: [{ name: "create", text: "Add New Director/Recipient" }],
        save: function(e)
        {
            debugger;

            if (e.data != "undefined")
            {

                $.ajax({
                    url: "http://localhost/x/api/awards/directors",
                    type: "POST",
                    dataType: "json",
                    data: $.parseJSON(directorData)
                }).done(function()
                {
                    alert('done!');
                });
            }

        }
    });

    function onBallotDropDownEditor(container, options)
    {
        var data = [
            { "onBallotId": 1, "onBallotDescription": "Yes" },
            { "onBallotId": 2, "onBallotDescription": "No" }];

        $('<input required data-text-field="onBallotDescription" data-value-field="onBallotDescription" data-bind="value:' + options.field + '"/>')
            .appendTo(container)
            .kendoDropDownList({
                autoBind: false,
                dataSource: data
            });
    }
}
06.09.2013

Ответы:


1

После успешного вызова Ajax попробуйте это,

$('#GridName').data('kendoGrid').dataSource.read();
$('#GridName').data('kendoGrid').refresh();
07.09.2013
  • Это сработало. Если я ввожу обе строки, режим редактирования выходит, НО я все равно получаю ту же ошибку. Затем, если я УДАЛЮ $('#GridName').data('kendoGrid').dataSource.read();, это сработает. Так что, видимо, мне не нужен dataSource.read(). Спасибо! 11.09.2013

  • 2

    В функции обновления контроллера возвращает объект, вставленный в пустой Json, вот так это сработало для меня.

    return Json(ModelState.IsValid ? new object() : ModelState.ToDataSourceResult());
    
    12.10.2016
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..