Primeng: Prime ng datepicker inside prime ng datatable creates css issue (it hides inside the datatable)

Created on 16 Jan 2017  路  6Comments  路  Source: primefaces/primeng

I'm submitting a bug report:

Prime ng date picker does not work properly inside the row of the prime-ng data table. I have a scenario where on click of edit inside row, a date picker opens. In certain scenarios, the date picker gets cut basically it get hides inside the datatable. I tried overriding CSS properties but all in vain.

Here is the screenshot for the same.
date

Please tell us about your environment:
Ubuntu, Angular 2.3, PrimeNG 1.1.4

Angular version: 2.0.X
Angular 2.4.1

PrimeNG version: 2.0.X
PrimeNG 1.1.14

Browser:
All

Language:
ES6

Most helpful comment

Hi,

you can try the appendTo attribute of the p-calendar. Try to set it to an element using a local template variable. This worked for us.

All 6 comments

Hi,

you can try the appendTo attribute of the p-calendar. Try to set it to an element using a local template variable. This worked for us.

@kanakisn : Thanks a lot . It worked !

Here is the link for prime ng calendar
http://www.primefaces.org/primeng/#/calendar

can you provide a example. I mean how to use local template variable. I am using primeng 5.x its not working for me. same problem.
<ng-template let-col let-car="rowData" pTemplate="editor" #ref> <p-calendar [(ngModel)]="car[col.field]" [appendTo]="ref" name="test" dateFormat="dd/mm/yy" placeholder="DD/MM/YYYY"> </p-calendar> </ng-template>

I am getting the calendar at the boottom-right corner of data-grid.

same problem, can i get a code snippet. i tried using template ref variable, its positioning calendar overlay to bottom right corner of data-grid.

Code snippet:

<!-- Add a div outside the p-table: -->
<div #calendarWrapper></div>

<p-table
  [value]="cars"
  editMode="row"
  dataKey="identifier"
>
  <!-- ... -->
  <ng-template pTemplate="body" let-car let-editing="editing">
    <!-- ... -->
      <td pEditableColumn>
        <p-cellEditor>
          <ng-template pTemplate="input">
            <!-- Add [appendTo] to solve the CSS conflict with p-table: -->
            <p-calendar
              [(ngModel)]="car.manufacturingDate"
              [appendTo]="calendarWrapper"
            >
            </p-calendar>
          </ng-template>
          <ng-template pTemplate="output">
            {{car.manufacturingDate}}
          </ng-template>
        </p-cellEditor>
      </td>
    <!-- ... -->
  </ng-template>
</p-table>
Was this page helpful?
0 / 5 - 0 ratings

Related issues

papiroca-tm picture papiroca-tm  路  3Comments

mitosandov picture mitosandov  路  3Comments

SchneMa picture SchneMa  路  3Comments

garethlewis picture garethlewis  路  3Comments

watalberto picture watalberto  路  3Comments