【问题标题】:Transferring selected rows between tables in angular 2 using angular material使用角度材料在角度2中的表之间传输选定的行
【发布时间】:2018-03-29 21:37:05
【问题描述】:

我已经使用 angular 材料在 angular 2 中实现了一个简单的表格。

我已经实现了将选定行从第一个表转移到第二个表并从第二个表中删除选定行的功能。

当我从第一个表中选择行并单击按钮 Move To Second Table 时,选定的行被转移到第二个表但没有从第一个表中拼接,虽然我已经拼接了transferSelectedRows() 方法中的选定行。

请访问我的示例应用程序here...

【问题讨论】:

  • 你不是从表格中拼接出来的,而是从选择中拼接出来的......
  • 是的,我从选择中拼接,,但没有拼接......!

标签: angular angular-material


【解决方案1】:

这是您需要在组件方面进行的更改(另请阅读 cmets)

组件端:

uncheckedData = this.data; // to maintain data for table 1

transferSelectedRows() {
    this.selection.selected.forEach(item => {
        let index: number = this.uncheckedData.findIndex(d => d === item);

        this.checkedData.push(this.uncheckedData[index]); // adding to table 2
        this.uncheckedData.splice(index,1); // remove data from table 1

    });

    this.selection = new SelectionModel<Element>(true, []);
    this.dataSource = new MatTableDataSource<Element>(this.uncheckedData);
    this.checkedDataSource = new MatTableDataSource<Element>(this.checkedData);
    this.dataSource.paginator = this.paginator;
    this.checkedDataSource.paginator = this.checkedpaginator;
}

WORKING DEMO

【讨论】:

  • hmm 是的............即使我需要将它从 2-->1 移动它......我会尝试它..如果有任何问题存在我会再次回来.....非常感谢..
  • @Heena,很高兴能帮到你,顺便说一句,编码快乐。
  • 你能告诉我如何从 2-->1 推送
  • @Heena ,请再次查看演示 我已经更新了演示
  • @Heena 再次检查,它将在最后添加,因此您必须转到第二页进行检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 2018-04-17
  • 2017-01-03
相关资源
最近更新 更多