Передача данных из одной сетки кендо в другую, которая находится во всплывающем окне - PullRequest
0 голосов
/ 29 марта 2019

Я использую .net-core и Kendo-UI для проекта.

Я пытаюсь передать проверенные значения (в каждой строке есть флажок) из одной таблицы кендо в другую, которая находится во всплывающем окне. Это всплывающее окно представляет собой всплывающее окно начальной загрузки 4, которое вызывается при нажатии кнопки. Проблема в том, что во всплывающем окне сетка не будет отображать проверенные данные.

Как это работает, пользователь проверяет строки в сетке и затем нажимает кнопку, которая затем запускает POST на сервере. Этот пост содержит массив проверенных строк.

Затем этот массив передается обратно через контроллер в другую сетку кендо во всплывающем окне.

Что я ожидаю, так это то, что данные, передаваемые контроллеру, передаются обратно в эту новую сетку. То, что происходит - вторая сетка остается пустой. Я проверил вкладку сети в инструментах Chrome, и контроллер возвращает данные. Его просто не найти в сетке.

Есть идеи?

// Здесь находится функция контроллера, вызов ajax и сетка кендо (всплывающее окно).

// Функция контроллера

public IActionResult SendInventoryGridData
([DataSourceRequest]DataSourceRequest request, string ViewBy, int BrandId, string[] Asins)
        {
            List <InventoryVM> Datalist= new List<InventoryVM>();

            foreach(string Asin in Asins)
            {
                Datalist.Add(new InventoryVM { Asin = Asin, Quantity = 1 });
            }
            var results = Datalist;
            return Json(results.ToDataSourceResult(request));
        }

// Ajax Post

        $.ajax({
            type: "POST", url: '@Url.Action("SendInventoryGridData", "InventoryManager")',
            success: function (data) {
                console.log(data);
            },
            data: { "ViewBy": viewBy, "BrandId": brandId, "Asins": Asins },
            accept: 'application/json'
        });

`````````````````````````````````````````````````````````````````````````




// Kendo Grid in popup window
`````````````````````````````````````````````````````````````````````
  @(Html.Kendo().Grid<Grit.WebUI.Models.Inventory.InventoryVM>()
 .Name("gReviewFeedbackCombo")
  .Columns(columns =>
    {
      columns.Bound(p => p.Asin).Title("Asin");
      columns.Bound(p => p.Quantity).Editable("productNameEditable");
      })
     .Scrollable(sc => sc.Endless(true))
     .HtmlAttributes(new { style = "height:400px;" })
     .DataSource(dataSource => dataSource
     .Ajax()
     .Model(model => model.Id(p => p.Asin))
     .Read(read => read.Action("SendInventoryGridData", "InventoryManager")))
     .Events(events => events.DataBound("dataBound")
         )
        )
``````````````````````````````````````````````````````````````````````````

1 Ответ

0 голосов
/ 04 апреля 2019

Подумав, я нашел ответ.Я удалил вызов ajax и позволил сетке вызывать саму функцию.Работал как шарм.

...