要使子行拥有不同于父行的列名,您可以使用AngularJS UI-Grid Tree View提供的自定义模板方法。以下是一个示例代码,演示如何实现这一点:
HTML模板:
JavaScript控制器:
angular.module('app', ['ui.grid', 'ui.grid.treeView'])
.controller('GridController', ['$scope', function($scope) {
$scope.gridOptions = {
enableTreeView: true,
columnDefs: [
{ name: 'name', displayName: 'Name' },
{ name: 'age', displayName: 'Age' }
],
data: [
{
name: 'Parent',
age: '30',
$$treeLevel: 0,
$$treeNodeChildren: [
{ name: 'Child 1', age: '10', $$treeLevel: 1 },
{ name: 'Child 2', age: '15', $$treeLevel: 1 }
]
}
],
rowTemplate: ''
};
}]);
在上面的示例中,我们通过设置rowTemplate
属性来自定义行模板。在模板中,我们使用ng-class
指令来为子行添加自定义类名custom-class
。然后您可以使用CSS样式来为子行设置不同的列名样式。
请注意,我们在行数据对象中添加了$$treeLevel
属性来标记行的树级别。这样,我们可以根据树级别来为子行应用不同的样式。
这是一个基本示例,您可以根据自己的需求进行扩展和修改。希望对您有所帮助!