2016-07-01 11 views
1

ソートされた列のデフォルトクラスを追加したいだけです。私はその列でテーブルをソートするとき、値「ASC」または「DESC」でクラス属性を追加し、コードを持っているYii2の列を並べ替えるためのデフォルトのCSSクラス

(コードの一部):

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'], 
      ], 
... 
     ] 
    ] 
); 

は何が必要 - 追加「= "ソート可能なクラス「」私の知る限り、あなたが(余分なクラスやスタイルのような他の性質を持っている必要があり、各列には、このプロパティを)追加することができます知っているようにthead要素

答えて

0

で生成された

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

リンク用

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

が、これは、あなたがアイコンの並べ替えclassがあなたの にAppAsset.phpによってロードされているデフォルトsite.cssファイル内で設定されている。この

th.sortable > a 
+0

headerOptions' 'の名前を持つプロパティが、私はそれがだ信じGridView' –

+1

@MuhammadOmerAslam'ではありません見ている:yiisofl \ yii2 \グリッド\ Column.php リターンHTMLでrenderHeaderCell ::タグ( 'th'、$ this-> renderHeaderCellContent()、$ this-> headerOptions);グリッド列のアレイ のGridView ::ウィジェット([ .... '列' => [ ...... [ BYTあるよう はまた、グリッド・コンポーネントのプロパティではありません... .... 'headerOptions' => ['style' => 'width:140px;'] –

+0

はい、ここにいるのですが、私は下の議決を取り戻したかったのですが、あなたはグリッドビューについて話しているように見えたので答えに言及してください。 –

0

のようにCSSでそれを使用することができます番目の要素にクラスを追加application/views/layouts/main.phpまたはlayoutファイルの別の名前がある場合、並べ替えのアイコンを更新する必要がある場合はcssクラスa.asc:aftera.desc:afterを調整する必要があります。

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

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

同様に、numericalordinalソートクラスを使用すると、要件に応じて、あまりにもそれらを変更する必要が過ぎる場合があります。

.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"; 
} 
関連する問題