【问题标题】:angular ui-grid custom header html角度 ui-grid 自定义标题 html
【发布时间】:2017-07-11 15:49:39
【问题描述】:

我正在尝试将 glyphicon glyphicon-thlist(我可以单击并调用控制器函数)添加到默认标题的左侧。我采用了默认标题并试图操纵它来做到这一点。默认标头位于:https://raw.githubusercontent.com/angular-ui/ui-grid/master/src/templates/ui-grid/uiGridHeaderCell.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>

这不是我的示例,但它具有标题模板,因此可以使用:

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

【问题讨论】:

  • 能否提供jsfiddle/plunker?
  • 我在原始问题的底部添加了一个 plunker。谢谢。
  • @user441521 检查我的答案。我希望它能满足您的要求。

标签: html angularjs angular-ui-grid


【解决方案1】:
  • 要添加glyphicon glyphicon-list,您只需要将format 标题单元格添加到headerCellTemplate 指向的HTML 中。
  • 要在点击 glyphicon 时添加函数调用,您需要将其添加到 gulp 图标容器 ng-click="grid.appScope.callFunction()"。

    DEMO

【讨论】:

  • 这对 plunker 有效,所以我必须把它给你。但是在我的项目中,这仍然会在不同的行上显示字形图标,并且不知道为什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
  • 2017-09-29
相关资源
最近更新 更多