对于UI格的自定义模板的头,角 [英] Custom header template for ui-grid , angular

查看:323
本文介绍了对于UI格的自定义模板的头,角的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图角的UI网的一个项目,但发现很难建成我的网格的自定义模板。当我检查源$ C ​​$ C,我得到了我把它保存到一个文件中,标题,template.html和参考它在配置网格下面的HTML模板。

I was trying angular's ui-grid for a project but finding it difficult to built a custom template for my grid . When I checked the source code , I got the below html template I saved it to a file , header-template.html and referenced it while configuring the grid.

<div class="ui-grid-header">
  <div class="ui-grid-top-panel">
    <div ui-grid-group-panel="" ng-show="grid.options.showGroupPanel" class="">
      <div class="ui-grid-group-panel ng-scope">
        <div ui-t="groupPanel.description" class="description " ng-show="groupings.length == 0">
          Drag a column header here and drop it to group by that column.</div>
        <ul ng-show="groupings.length > 0" class="ngGroupList ">
          <!-- ngRepeat: group in configGroups -->
        </ul>
      </div>
    </div>
    <div class="ui-grid-header-viewport">
      <div class="ui-grid-header-canvas">
         <!--ngRepeat: col in colContainer.renderedColumns track by col.colDef.name -->
        <div class="ui-grid-header-cell clearfix" ng-repeat="col in colContainer.renderedColumns track by col.colDef.name" ui-grid-header-cell="" col="col" render-index="$index" ng-style="$index === 0 &amp;&amp; colContainer.columnStyle($index)">
          <div ng-class="{ 'sortable': sortable }" class="sortable">
            <div class="ui-grid-vertical-bar">&nbsp;</div>
            <div class="ui-grid-cell-contents" col-index="renderIndex">
              <span class="">{{col.colDef.name}}</span>
              <span ui-grid-visible="col.sort.direction" 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 }" class="ui-grid-invisible ui-grid-icon-blank">&nbsp;</span>
            </div>
            <!-- ngIf: grid.options.enableColumnMenus && !col.isRowHeader  && col.colDef.enableColumnMenu !== false -->
            <!-- ngRepeat: colFilter in col.filters -->
            <!-- ngIf: filterable -->
            <div ng-if="filterable" class="ui-grid-filter-container" ng-repeat="colFilter in col.filters">
              {{colFilter}}
              <input type="text" class="ui-grid-filter-input" ng-model="colFilter.term" ng-click="$event.stopPropagation()" ng-attr-placeholder="{{colFilter.placeholder || ''}}" placeholder="">
              <div class="ui-grid-filter-button" ng-click="colFilter.term = null">
                <i class="ui-grid-icon-cancel right" ng-show="!!colFilter.term">&nbsp;</i>
                <!-- use !! because angular interprets 'f' as false -->
              </div>
            </div>
            <!-- end ngIf: filterable --><!-- end ngRepeat: colFilter in col.filters -->
          </div>
        </div>
        <!-- end ngRepeat: col in colContainer.renderedColumns track by col.colDef.name -->
      </div>
    </div>
    <div ui-grid-menu="" class=""><!-- ngIf: shown -->
    </div>
  </div>
</div>

我已经

   $scope.gridOptions = {
    data: 'gridData',
    enableRowHeaderSelection: false,
    multiSelect: false,
    enableFiltering: true,
    columnDefs: $scope.columnDef,
    enableColumnMenus: false,
    headerTemplate:'views/header-template.html'
  };

但由于某些原因,我不知道为什么,我米获得此,如图所示的形象。该模板被再次印刷的,我尝试建立模板下方

But for some reason , I dont know why , I m getting this , as shown in the image . The template gets printed once again , below the template that I try to build

请帮助..

推荐答案

要得到什么,我想实现我不得不指定网格的columnDefs内headerCellTemplate(不HeaderTemplate中)下面给出:

To obtain what I was trying to achieve I had to specify a headerCellTemplate(Not headerTemplate) within the columnDefs of the grid as given below :

          {
        field: key, displayName: key
        , headerCellTemplate: '<div ng-class="{ \'sortable\': sortable }">' +
      '<div class="ui-grid-vertical-bar">&nbsp;</div>' +
      '<div class="ui-grid-cell-contents" col-index="renderIndex">' +
      '<span ui-grid-visible="col.sort.direction" 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 }">' +
      '&nbsp;' +
      '</span>' +
      '</div>' +
      '<div class="ui-grid-column-menu-button" ng-if="grid.options.enableColumnMenus && !col.isRowHeader  && col.colDef.enableColumnMenu !== false" class="ui-grid-column-menu-button" ng-click="toggleMenu($event)">' +
      '<i class="ui-grid-icon-angle-down">&nbsp;</i>' +
      '</div>' +
      '<div ng-if="filterable" class="ui-grid-filter-container" ng-repeat="colFilter in col.filters">' +
      '<input type="text" class="ui-grid-filter-input" ng-model="colFilter.term" ng-attr-placeholder="{{col.displayName || \'\'}}" />' +
      '<div class="ui-grid-filter-button" ng-click="colFilter.term = null">' +
      '<i class="ui-grid-icon-cancel" ng-show="!!colFilter.term">&nbsp;</i>' + <!-- use !! because angular interprets 'f' as false -->
      '</div>' +
      '</div>' +
      '</div>'
      }

由于对于UI栅,headerCellTemplate在HeaderTemplate中.The默认内所附headerCellTemplate在以下<一个提供href=\"https://github.com/angular-ui/ng-grid/blob/master/src/templates/ui-grid/uiGridHeaderCell.html\">link

Because for ui-grid , headerCellTemplate is appended inside the headerTemplate .The default headerCellTemplate is provided in the following link

感谢您

这篇关于对于UI格的自定义模板的头,角的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆