3

当我将 celltemplate 用于 ahref 链接时,一旦单击该链接,该行就会突出显示,因为我启用了 RowSelection……但我不希望该行在单击链接时突出​​显示……仅当在除链接之外的任何位置单击该行时。

同样在下面的示例图片中,如何删除小箭头以便该列不能显示菜单项?

代码:

$scope.gridOptions = { 
    showFooter: true,
    enableFiltering: true,
    enableRowSelection: true,
    enableRowHeaderSelection: false,
    enableSelectAll: true,
    multiSelect: true,
    enableColumnResizing: true,
    columnDefs: [
    { field:'date', displayName: 'Date', width: 200, aggregationType: uiGridConstants.aggregationTypes.count  },
    { field:'notes', displayName: 'Notes', width: 65, enableFiltering: false, enableSorting: false, enableHiding: false, cellTemplate:'<a href="#" ng-click="getExternalScopes().showMe(row.entity[col.field])">View</a>' }
    ],
    data: data
}

图片: 在此处输入图像描述

4

2 回答 2

6

这是 ui-grid 的一个可能答案(不再是 ng-grid!)。

不选择行的按钮的单元格模板是:

cellTemplate: '<button class="btn primary" ng-click="$event.stopPropagation();getExternalScopes().showMe(row)">Click Me</button>'

请注意$event.stopPropagation()ng-click 指令中的 。这会阻碍点击到达rowTemplate的底层功能。(另请注意,除了使用 externalScopes 之外,我没有找到另一种将点击事件传递给控制器​​的方法。我确信有更好的方法,但 ui-grid 仍然是 beta 版,而且我对它也很陌生)

您问题的第二部分:使用此 headCellTemplate

var headCelltpl = '<div ng-class="{ \'sortable\': sortable }">' +
  '<div class="ui-grid-vertical-bar">&nbsp;</div>' +
  '<div class="ui-grid-cell-contents" col-index="renderIndex">' +
  '{{ col.displayName CUSTOM_FILTERS }}' +
  '</div>' +
  '</div>';

并将其添加到您的 columnDefs 中的相应列。

headerCellTemplate: headCelltpl

这是一个包含所有内容的Plunker

请不要告诉我你的意思是 ng-grid :-)

于 2014-10-21T11:10:32.463 回答
0

简单的解决方案row.setSelectedfalse

cellTemplate: '<button class="btn primary" ng-click="grid.appScope.deSelectRow(row)">Click Me</button>'

$scope.deSelectRow = function(row) {
     row.setSelected(false);
  };
于 2016-08-31T11:32:50.550 回答