角度ui.grid列跨越

时间:2015-04-09 13:00:45

标签: angularjs ng-grid angular-ui-grid

如何在UI-Grid中实现列跨越,用于中间行。这些行可以与列匹配,列跨越可以是各种模式。

如下图所示

enter image description here

1 个答案:

答案 0 :(得分:3)

它不是最漂亮的,但我要做的就是通过自定义行模板,其中包含ng-if。如果您的行已分配了车辆,请将列显示为正常,如果没有,则显示第一列,然后显示您的按钮。

<div>
  <!-- normal rows with car -->
  <div ng-if="row.entity.hasCar">
    <div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name"
       class="ui-grid-cell" ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }"
       ui-grid-cell></div>
  </div>

  <!-- first row and button with no car -->
  <div ng-if="!row.entity.hasCar">
    <div class="no-car-container">
      <div ng-repeat="(colRenderIndex, col) in [colContainer.renderedColumns[0]] track by col.colDef.name"
        class="ui-grid-cell" ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }"
        ui-grid-cell></div>

      <div class="ui-grid-cell-contents">
        <div class="no-car">
          <button type="button" class="btn">Assign a vehicle</button>
        </div>
      </div>
    </div>
  </div>
</div>

然后我会添加一些特殊的单元格模板和一些自定义CSS,以便按照您的要求布置所有内容。

这是一个非常接近的工作人员:http://plnkr.co/edit/OTIu84JxiUnInr8w8XFT?p=preview