es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La anchura de la primera columna del cuerpo no puede ser modificada después de establecer la propiedad “scrollable” en “true” en la tabla de PrimeNG.

Estoy utilizando primeng para crear una tabla. No puedo cambiar el ancho de la columna del cuerpo 1 si la propiedad de tabla desplazable está establecida en verdadero.

El ancho de la columna se puede modificar en los siguientes casos:
1) Desplazable es falso.
2) Se elimina la fila de tabla con colspan.

tableData es una matriz de la siguiente estructura:

[
{
section: string,
subHeader: string,
columns: [
{
index: number,
items: [] // lista de cadenas
}
]
}
]

<p-table
  [value]="tableData"
  [scrollable]="true"
  [resizableColumns]="true"
  styleClass="p-datatable-gridlines"
  scrollHeight="{{ scrollHeight }}"
>
  <ng-template pTemplate="header">
    <tr>
      <th style="width: '225px'"></th>
      <th *ngFor="let headerItem of headers">
        <div class="p-grid p-flex-column p-ai-left">
          <div class="p-col">
            <div class="box">
           {{ headerItem.something1 }}
            </div>
          </div
        </div>
      </th>
    </tr>
  </ng-template>

<ng-template pTemplate="body" let-row let-rowIndex="rowIndex">
    <tr *ngIf="rowGroupMetadata[row.section].index === rowIndex">
      <td *ngIf="selectedPersons.length === 2" colspan="3">
        <div class="p-text-bold section">{{ row.section | translate: this.locale }}</div>
      </td>
      <td *ngIf="selectedPersons.length === 3" colspan="4">
        <div class="p-text-bold section">{{ row.section | translate: this.locale }}</div>
      </td>
    </tr>
    <tr>
      <td  style="width: '225px'">
        <span>{{ row.subHeader }}</span>
      </td>
      <td *ngFor="let column of row.columns">
        <div *ngFor="let item of column.items">
          {{ item }}
        </div>
      </td>
    </tr>
  </ng-template>
</p-table>
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el ancho de la primera columna del cuerpo de una tabla de primeng desplazable, la propiedad scrollable debe establecerse en false o se debe eliminar la fila de la tabla con colspan. Si ninguna de estas opciones es posible o deseable, entonces el ancho de la columna no se puede modificar dentro de las limitaciones de la implementación actual.

    Para modificar el ancho de columna en una tabla de primeng, se pueden seguir los siguientes pasos:

    1. Establecer la propiedad scrollable en false, o eliminar la fila de la tabla con colspan.
    2. Dentro de la plantilla del cuerpo, agregar un atributo de estilo al elemento td que contenga el valor deseado de ancho. Por ejemplo, <td style="width: 200px">...</td>. Alternativamente, el valor de ancho se puede establecer utilizando una clase de CSS definida en una hoja de estilo.
    3. Guardar los cambios y el ancho de la columna debería actualizarse en consecuencia.

Comments are closed.