【问题标题】:Default row selection for dataTable primeNGdataTable primeNG 的默认行选择
【发布时间】:2018-04-10 06:17:25
【问题描述】:

如何在给定记录后自动选择 dataTable 中的一行? dataTable 有排好序的列和分页。在给定记录之后,我希望在存在的页面上选择该记录。

【问题讨论】:

    标签: angular angular2-forms primeng-datatable


    【解决方案1】:

    dataTable 有一个名为[(selection)] 的属性(一个数组),要添加/删除/预选行,您只需从数组中添加/删除值

    预选nth

    组件:

     ngOnInit() {
       this.data = [/*data*/];           
       this.selectedItems = [ this.data[n-1]];
     }
    

    模板:

    <p-dataTable [value]="data" [(selection)]="selectedItems">
    

    Demo

    【讨论】:

    • 谢谢。我的选择应该只是数组中的一个值。我添加了,但该行仍然没有被选中(或突出显示)。也许我做错了什么?...
    • 谢谢你的例子。让我再试一次,然后回复。谢谢Kld。
    • @Kld,如果我有所选行的复选框/单选按钮怎么办。它没有被选中,即使我在 this.selectedItems 中有我选择的项目。
    【解决方案2】:

    以下内容会有所帮助。

    在 HTML 部分将这个属性添加到数据表中

     [(selectedRow)] = "rowIWantToGetSelected"
    

    在组件中,只需使用数组中的项目填充此“rowIWantToGetSelected”。例如这是第一行

    this.rowIWantToGetSelected = recordsArray[0]
    

    重要提示:Ng prime 需要一个名为 rowId 的属性,其中包含行号(起始索引 0)。如果您的模型没有它,请将该属性添加到它并使用行号更新它。如果您没有此属性,它将不会选择预期的行。以下是选择第一行的示例。

    this.rowIWantToGetSelected = { 
      ...recordsArray[0],
      rowId : 0
    }
      
    

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 2019-07-18
      • 2014-04-15
      • 2021-04-16
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多