2017-02-21 19 views
11

私はグリフコングリフコンのthlist(クリックしてコントローラの関数を呼び出すことができます)をデフォルトヘッダーの左側に追加しようとしています。私はデフォルトヘッダーを取り、これを行うために操作しようとしました。デフォルトヘッダーは次の場所にあります:https://raw.githubusercontent.com/angular-ui/ui-grid/master/src/templates/ui-grid/uiGridHeaderCell.html角度uiグリッドのカスタムヘッダーhtml

私はそれを以下に変更しましたが、私は2行になります。一番上の行には左にアイコンがあり、右にはソートドロップダウンがあり、二番目の行には列ヘッダーがあり、クリックするとasc/descの並べ替えが切り替わります。私はこれで最善ではないので、どのように私はこれらのすべてを同じ行(私のリストのアイコンが左側とそのすぐ隣に列のラベルが1行だけを取得することができますし、ソートのドロップダウン矢印)。

<div 
    role="columnheader" 
    ng-class="{ 'sortable': sortable }" 
    ui-grid-one-bind-aria-labelledby-grid="col.uid + '-header-text ' + col.uid + '-sortdir-text'" 
    aria-sort="{{col.sort.direction == asc ? 'ascending' : (col.sort.direction == desc ? 'descending' : (!col.sort.direction ? 'none' : 'other'))}}"> 
    <div 
     role="button" 
     tabindex="0" 
     ui-grid-one-bind-id-grid="col.uid + \'-menu-button\'" 
     class="glyphicon glyphicon-th-list" 
     ng-if="grid.options.enableColumnMenus && !col.isRowHeader && col.colDef.enableColumnMenu !== false" 
     ng-click="editOptionValues($event)" 
     ng-class="{\'ui-grid-column-menu-button-last-col\': isLastCol}" 
     ui-grid-one-bind-aria-label="i18n.headerCell.aria.columnMenuButtonLabel" 
     aria-haspopup="true"> 
    </div> 
    <div 
    role="button" 
    tabindex="0" 
    class="ui-grid-cell-contents ui-grid-header-cell-primary-focus" 
    col-index="renderIndex" 
    title="TOOLTIP"> 
    <span 
     class="ui-grid-header-cell-label" 
     ui-grid-one-bind-id-grid="col.uid + '-header-text'"> 
     {{ col.displayName CUSTOM_FILTERS }} 
    </span> 

    <span 
     ui-grid-one-bind-id-grid="col.uid + '-sortdir-text'" 
     ui-grid-visible="col.sort.direction" 
     aria-label="{{getSortDirectionAriaLabel()}}"> 
     <i 
     ng-class="{ 'ui-grid-icon-up-dir': col.sort.direction == asc, 'ui-grid-icon-down-dir': col.sort.direction == desc, 'ui-grid-icon-blank': !col.sort.direction }" 
     title="{{isSortPriorityVisible() ? i18n.headerCell.priority + ' ' + (col.sort.priority + 1) : null}}" 
     aria-hidden="true"> 
    </i> 
    <sub 
     ui-grid-visible="isSortPriorityVisible()" 
     class="ui-grid-sort-priority-number"> 
     {{col.sort.priority + 1}} 
    </sub> 
    </span> 
    </div> 

    <div 
    role="button" 
    tabindex="0" 
    ui-grid-one-bind-id-grid="col.uid + '-menu-button'" 
    class="ui-grid-column-menu-button" 
    ng-if="grid.options.enableColumnMenus && !col.isRowHeader && col.colDef.enableColumnMenu !== false" 
    ng-click="toggleMenu($event)" 
    ng-class="{'ui-grid-column-menu-button-last-col': isLastCol}" 
    ui-grid-one-bind-aria-label="i18n.headerCell.aria.columnMenuButtonLabel" 
    aria-haspopup="true"> 
    <i 
     class="ui-grid-icon-angle-down" 
     aria-hidden="true"> 
     &nbsp; 
    </i> 
    </div> 

    <div ui-grid-filter></div> 
</div> 

これは私の例ではないですが、働いてできるように、それは、ヘッダーテンプレートを持っている:あなただけにあなたのヘッダーセルをformatする必要がglyphicon glyphicon-listを追加するには

http://plnkr.co/edit/KitYBfKuRTQppuSRUCh7?p=preview

+2

あなたはおそらく[jsfiddle](https://jsfiddle.net/)/ [plunker](https://plnkr.co/)を提供することができますか? –

+1

元の質問の一番下にプランナーを追加しました。ありがとう。 – user441521

+0

@ user441521私の答えをチェックしてください。私はあなたの要求を満たすことを願っています。 –

答えて

6
  • HTMLはheaderCellTemplateを指しています。
  • ​​をクリックして関数呼び出しを追加するには、Gulpアイコンコンテナng-click="grid.appScope.callFunction()"にこれを追加する必要があります。

    DEMO

+0

これはプランカと一緒に働いたので、私はあなたにそれを与えなければなりません。しかし、私のプロジェクトでは、これはまだ別の行にグリフコンを表示し、理由はわかりません。 – user441521

関連する問題