Обновить сеть СигналР телерик - PullRequest
0 голосов
/ 29 июня 2019

У меня есть привязка сетки к концентратору SignalR на том, что не работает

@(Html.Kendo().Grid<MyDownloader.Core.ViewModel.DownloaderViewModel>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(c => c.LocalFile);
        columns.Bound(c => c.FileSize);
        columns.Bound(c => c.StatusMessage);
        columns.Bound(c => c.Progress);
        columns.Bound(c => c.Left);
        columns.Bound(c => c.Rate);
        columns.Bound(c => c.CreatedDateTime);
        columns.Bound(c => c.State);
        columns.Bound(c => c.ResourceLocation);
        columns.Command(c => c.Destroy());

    })
    .HtmlAttributes(new { style = "height: 550px;margin-bottom:20px;" })
.Sortable()
.Scrollable()
.DataSource(dataSource => dataSource
    .SignalR()
    .AutoSync(true)
    .Events(events => events.Push("onPush"))
    .Sort(s => s.Add("FileSize").Descending())
    .Transport(tr => tr
        .Promise("hubStart")
        .Hub("hub")
        .Client(c => c
            .Read("read")
            .Create("create")
            .Update("update")
            .Destroy("destroy"))
        .Server(s => s
            .Read("read")
            .Create("create")
            .Update("update")
            .Destroy("destroy"))).Schema(schema => schema
        .Model(model =>
        {
            model.Id("FileSize");
        }))
    ))

Я хочу обновить весь клиент, когда объект добавлен в базу данных (таблица загрузчиков) Я вызываю read() метод клиента вне центра, как это

            var context = GlobalHost.ConnectionManager.GetHubContext<Hubs.DownloadrHub>();
        context.Clients.All.read();

но read() метод не активирован, сетка не обновлена ​​и данные не обновлены

Как можно обновить всю клиентскую сетку из хаба?

1 Ответ

0 голосов
/ 04 июля 2019

Обычно вы не вызываете метод read на клиенте.Вы вызываете метод создания, обновления или удаления.В зависимости от выполненного действия.Сетка обрабатывает его автоматически.

Например, Clients.All.update (new {Data = whateveryourdatais);

Посмотрите на telerik examples .

...