【问题标题】:Refresh SignalR telerik grid刷新 SignalR Telerik 网格
【发布时间】:2019-06-29 11:11:38
【问题描述】:

我有一个网格绑定到 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() 方法未引发且网格未刷新且数据未更新

如何更新 Hub 之外的所有客户端网格?

【问题讨论】:

    标签: kendo-ui telerik signalr kendo-grid


    【解决方案1】:

    通常你不会在客户端调用 read 方法。您调用创建、更新或删除方法。取决于执行的操作。网格会自动处理它。

    例如Clients.All.update(new { Data = 不管你的数据);

    看看telerik examples

    【讨论】:

      猜你喜欢
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多