我是新手。我的背景是.NET(c#,wpf)。
我要实现的是拥有一个绑定到表(数据网格)的Collection。
集合(EventData [])将由http get请求(getEvents)填充。
目前正在工作。
接下来,我使用SignalR库获取服务器推送的新EventData对象。
因此,如果接收到新的EventData,则应将该数据添加到现有集合中并反映到视图中。
在c#中,它将是一个简单的“添加”,例如“ myEvents.Add(receivedEvent)”。
这是我的代码:
dataSource: EventData[];
ngOnInit() {
this._hubconnection = new signalR.HubConnectionBuilder()
.configureLogging(signalR.LogLevel.Trace)
.withUrl('https://localhost:44373/notify')
.build();
this._hubconnection
.start()
.then(() => console.log('Connection Started'))
.catch(err => console.log('Error while establishing connection'));
this._hubconnection.on('BroadcastMessage', (data: EventData) => {
console.log(data);
this.dataSource.push(data);
// this.dataSource.subscribe(v => v.push(data));
});
}
数据源是eventData集合。
答案 0 :(得分:0)
您还必须同时更新MatTableDataSource
和EventData[];
。为了展示这一点,我为您创建了一个示例StackBlitz Project。
如您所见,顶部有一个按钮,上面写着Add Item
。单击该按钮可将新项目添加到表中。
更新用户列表后,我将表数据源设置为如下所示的新列表:
this.dataSource = new MatTableDataSource(this.users);