将数据表与列级别的其他字段一起使用

时间:2016-10-19 16:07:14

标签: angular primeng

我将PrimeNG beta 17与Angular 2一起使用,在我的模板中,我使用了如下数据表:

<p-dataTable [value]="dataColumns" [(selection)]="selectedInputColumns">
      <p-column [style]="{'width':'38px'}" selectionMode="multiple"></p-column>
      <p-column field="label" header="Column name"></p-column>
      <p-column header="Column Type">
          <template pTemplate type="body">
                <p-selectButton [options]="availableColumnTypes" [(ngModel)]="selectedColumnType"></p-selectButton>
              </template>
      </p-column>
 </p-dataTable>

在数据表的一列内(标题“Column Type”)我希望有一个额外的选择按钮(用户可以在三种状态之间进行选择),因此每个表格行有一个额外的信息。

PrimeNG的Select Button组件提供onChange事件,一旦用户更改值,就会引发该事件。 我的问题是,在事件处理中,我是否可以获取信息单击数据表的哪一行,因为我需要按表格行存储附加信息。

1 个答案:

答案 0 :(得分:0)

@Emdee,

请在下面找到我的建议:

  1. 我认为你需要 listBox 而不是 selectButton
  2. 您可以使用 rowData
  3. <template>中获取当前行数据

    更新了模板:

    <p-dataTable [value]="dataColumns" [(selection)]="selectedInputColumns">
          <p-column [style]="{'width':'38px'}" selectionMode="multiple"></p-column>
          <p-column field="label" header="Column name"></p-column>
          <p-column header="Column Type">
              <template let-rdata="rowData" let-rindex="rowIndex" pTemplate type="body">
                    {{ rdata }} {{ rindex }} <!-- current row-data is obtainable at rdata and index at rindex -->
                    <p-listbox [options]="availableColumnTypes" [(ngModel)]="selectedColumnType"></p-listbox>
                  </template>
          </p-column>
     </p-dataTable>
    

    如果有效,请试试让我知道。