2017-02-21 30 views
11

Próbuję dodać glyphicon-thlist (który można kliknąć i wywołać funkcję kontrolera) po lewej stronie domyślnego nagłówka. Wziąłem domyślny nagłówek i próbowałem nim manipulować, aby to zrobić. Domyślny nagłówek znajduje się: https://raw.githubusercontent.com/angular-ui/ui-grid/master/src/templates/ui-grid/uiGridHeaderCell.htmlniestandardowy nagłówek ui-grid kątowy

Zmieniłem go na niżej, ale co się dzieje, to kończę z 2 rzędami. W górnym wierszu znajduje się moja ikona po lewej stronie, po prawej stronie znajduje się lista sortowania, a drugi wiersz ma nagłówek kolumny, który po kliknięciu przełącza asc/desc sortowania. Nie jestem w tym najlepszy, więc zastanawiam się, w jaki sposób mogę uzyskać wszystkie te informacje na tej samej linii (tylko 1 wiersz, w którym moja ikona listy znajduje się po lewej stronie, a tuż obok niej jest etykieta kolumny, a następnie lista sortowania strzałka).

<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> 

To nie jest mój przykład, ale ma szablonu nagłówka więc może być współpracował z:

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

+2

można może zapewnić [jsfiddle] (https://jsfiddle.net/)/[plunker] (https://plnkr.co/)? –

+1

Dodałem plunkera na samym dole oryginalnego pytania. Dzięki. – user441521

+0

@ user441521 sprawdź moją odpowiedź. Mam nadzieję, że spełni on twoje wymagania. –

Odpowiedz

6
  • Aby dodać glyphicon glyphicon-list wystarczy format komórki nagłówka do HTML wskazany przez headerCellTemplate.
  • Aby dodać wywołanie funkcji po kliknięciu na glyphicon należy dodać to w pojemniku z ikoną dławika ng-click="grid.appScope.callFunction()".

    DEMO

+0

To działało z plunkerem, więc muszę ci to dać. Jednak w moim projekcie nadal pokazuje on glify w innym rzędzie i nie wiem dlaczego. – user441521