2016-08-26 4 views
8

Ich bin in einem Projekt, wo ich PrimeNg verwenden muss, um Tabellen zu tun, und ich habe ein Problem mit der Breite der ersten Spalte definieren.PrimeNg Änderung p-Spalte Breite

In meinem HTML-Code, ich habe so etwas wie:

<p-datatable styleClass="myTable"> 
    <p-column> 

    </p-column> 
    ... 
</p-datable> 

Und in meinem CSS, ich habe etwas:

.myTable td:nth-child(1) { 
    width:300px; 
} 

auch mit folgenden HTML versucht:

<p-datatable> 
    <p-column styleClass="col1"> 

    </p-column> 
    ... 
</p-datable> 

Und in meinem CSS:

td.col1 { 
    width: 300px; 
} 

Und ich habe auch den Code überprüfen und sah die Klasse der Reihe, die tr.ui-Widget-Inhalte ui-Datatable-even ist und versucht, die CSS ..

tr.ui-widget-content ui-datatable-even td:nth-child(1) { 
    width: 500px !important; 
} 

Und nichts scheint zu funktionieren . Jeder kann mir sagen, ob es möglich ist, die Breite der Spalte zu definieren, und wenn ja, wie kann ich das tun?

Danke für alle Antworten ...

+0

Mehr lesen auf überschreibenden eckigen css: https://www.concretepage.com/angular-2/angular-2-4-component-styles-host-host-context-deep-selector-beispiel –

Antwort

21

Sie die Breite manuell definieren können, versuchen Sie dies:

<p-column [style]="{'width':'300px'}" </p-column> 
+1

Danke, das funktioniert! – potpiejimmy

+2

kann immer noch nicht ganz glauben, dass dies die beste Lösung ist: -/ –

+0

hinweis: 'width' muss eigentlich nicht in Anführungszeichen stehen, aber wenn Sie versuchen, Text zu zentrieren, dann muss' text-align' in Anführungszeichen stehen '[style] =" {width: '180px', 'text-align': 'zentrum'} "' –