2016-07-01 7 views
1

Ich möchte nur Standardklasse für sortierte Spalte hinzufügen.Standard-CSS-Klasse zum Sortieren der Spalte in Yii2

I-Code, der Klasse Attribut mit dem Wert 'ASC' oder 'DESC' hinzufügen, wenn ich Tabelle nach dieser Spalte sortiert (Teil des Codes):

GridView::widget(
    [ 
     'dataProvider' => $dataProvider, 
     'columns' => [ 
      [ 
       'attribute' => 'id', // <---- sorted by default, have 'class="desc"' 
       'contentOptions' => ['style' => 'width: 120px'], 
      ], 
      [ 
       'attribute' => 'name', //<- want to append 'class="sortable"' 
       'contentOptions' => ['style' => 'text-align: left'], 
       'headerOptions' => ['style' => 'text-align: left'], 
      ], 
... 
     ] 
    ] 
); 

Was ich brauche - add ‚class =" sortierbar „‘ für generierte

<a href="/my/action">Name</a> 

Links in der thead

Antwort

0

Soweit ich weiß, man könnte hinzufügen (diese Eigenschaft auf jede Spalte, die Extraklasse oder andere Eigenschaften wie Stil haben sollte)

'headerOptions' => ['class' => 'sortable'], 

aber diese Add-Klasse zum te Elemente dann könnte man es in CSS wie diese in der Standard site.css Datei

th.sortable > a 
+0

gibt es keine Eigenschaft mit dem Namen '' headerOptions' in GridView' –

+1

@MuhammadOmerAslam ich glaube ist, dass es buchen: renderHeaderCell in yiisofl \ yii2 \ Raster \ Column.php return Html :: tag ('th', $ this-> renderHeaderCellContent(), $ this-> headerOptions); es ist auch nicht das Eigentum der Grid-Komponente als byt der Rasterspalten Array ist Gridview :: Widget ([ .... 'Spalten' => [ ...... [ ... .... 'headerOptions' => ['style' => 'width: 140px;'], ] –

+0

ja, du bist genau hier, ich wollte nur meine down vote zurücknehmen, aber nicht in der lage, sie bearbeiten zu können Bitte erwähnen Sie es in der Antwort, wie es aussah, dass Sie über die Rasteransicht sprechen. Danke für die Verdeutlichung –

0

Das Sortiericon class gesetzt verwenden, die von AppAsset.php in Ihrem geladen wird application/views/layouts/main.php oder wenn Sie einen anderen Namen für die layout Datei haben, müssen Sie die css Klasse a.asc:after und a.desc:after anpassen, wenn Sie das Symbol für die Sortierung aktualisieren müssen.

a.asc:after { 
    content: "\e155"; 
} 

a.desc:after { 
    content: "\e156"; 
} 

Ebenso gibt es numerical und ordinal Art Klassen auch, wenn Sie sie auch ändern müssen je nach den Anforderungen.

.sort-numerical a.asc:after { 
    content: "\e153"; 
} 

.sort-numerical a.desc:after { 
    content: "\e154"; 
} 

.sort-ordinal a.asc:after { 
    content: "\e155"; 
} 

.sort-ordinal a.desc:after { 
    content: "\e156"; 
} 
Verwandte Themen