行模板 'grid.appScope.functionname()' 无效
Row template 'grid.appScope.functionname()' not working
我有一个 ui-grid,基于用户鼠标悬停在特定行上,我需要在该特定行的单元格中显示按钮。我尝试使用行模板,我将在其中调用使用 'grid.appScope,functionname()' 的方法。但它不起作用。在我们下面我的代码。
1.GridOptions:
$scope.gridOptions = {
headerTemplate: '/SourceHtml/Templates/HomeHeaderTemplate.html',
rowTemplate: rowTemplate(),
data: 'glues',
enableRowSelection: false,
enableCellEditOnFocus: true,
columnDefs:
[{ field: 'Name', displayName: 'Name', enableCellEdit: false },
{ field: 'Brand', displayName: 'Brand', enableCellEditOnFocus: true },
{ field: 'Quarter', displayName: 'Quarter', enableCellEditOnFocus: true },
{ field: 'Modified', displayName: 'Modified', enableCellEditOnFocus: true },
{ name: 'report', displayName: 'report', cellTemplate: '<button id="editBtn" type="button" class="btn-primary"><span class="glyphicon glyphicon-calendar"><span>Reports</span></span></button> ' },
{ name: 'edit', displayName: 'Edit', cellTemplate: '<button id="editBtnDdl" type="button" class="btn-primary"><span class="glyphicon glyphicon-cog"><span>Edit</span></span></button> ' }]
};
2.GridData:
$scope.glues = [{ Name: 'Bob', Brand: 'CEO', Quarter: '2015 Q1', Modified: 'Alexander' },
{ Name: 'Bob', Brand: 'CEO', Quarter: '2015 Q1', Modified: 'Alexander' }];
3.RowTemplate:
function rowTemplate() {
return $timeout(function () {
alert("hi");
return '<div ng-click="grid.appScope.fnOne(row)" ng-mouseover="grid.appScope.fnOne(row)" ng-repeat="col in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ui-grid-cell></div>';
}, 6000);
}
4.Method 从 rowTemplate 调用:
$scope.fnOne = function (entity) {
alert(row);
};
我的计划是从 rowTemplate 调用 fnOne() 方法并从那里使用 ng-class="{hideByDefault:!inputs}",其中 hideByDefault 显示将是 none 并且在 fnOne 方法中将输入设置为 true。但是没有调用 fnOne 方法。
请提出任何想法。也欢迎任何其他类型的实施。
最后,在我们的应用程序中,我们决定使用 Angular 智能 Table 而不是 Angular ui 网格。在做一些 POC 时,我们能够在智能 Table 中轻松实现一些在 Angular ui 网格中复杂的事情。
我有一个 ui-grid,基于用户鼠标悬停在特定行上,我需要在该特定行的单元格中显示按钮。我尝试使用行模板,我将在其中调用使用 'grid.appScope,functionname()' 的方法。但它不起作用。在我们下面我的代码。 1.GridOptions:
$scope.gridOptions = {
headerTemplate: '/SourceHtml/Templates/HomeHeaderTemplate.html',
rowTemplate: rowTemplate(),
data: 'glues',
enableRowSelection: false,
enableCellEditOnFocus: true,
columnDefs:
[{ field: 'Name', displayName: 'Name', enableCellEdit: false },
{ field: 'Brand', displayName: 'Brand', enableCellEditOnFocus: true },
{ field: 'Quarter', displayName: 'Quarter', enableCellEditOnFocus: true },
{ field: 'Modified', displayName: 'Modified', enableCellEditOnFocus: true },
{ name: 'report', displayName: 'report', cellTemplate: '<button id="editBtn" type="button" class="btn-primary"><span class="glyphicon glyphicon-calendar"><span>Reports</span></span></button> ' },
{ name: 'edit', displayName: 'Edit', cellTemplate: '<button id="editBtnDdl" type="button" class="btn-primary"><span class="glyphicon glyphicon-cog"><span>Edit</span></span></button> ' }]
};
2.GridData:
$scope.glues = [{ Name: 'Bob', Brand: 'CEO', Quarter: '2015 Q1', Modified: 'Alexander' },
{ Name: 'Bob', Brand: 'CEO', Quarter: '2015 Q1', Modified: 'Alexander' }];
3.RowTemplate:
function rowTemplate() {
return $timeout(function () {
alert("hi");
return '<div ng-click="grid.appScope.fnOne(row)" ng-mouseover="grid.appScope.fnOne(row)" ng-repeat="col in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ui-grid-cell></div>';
}, 6000);
}
4.Method 从 rowTemplate 调用:
$scope.fnOne = function (entity) {
alert(row);
};
我的计划是从 rowTemplate 调用 fnOne() 方法并从那里使用 ng-class="{hideByDefault:!inputs}",其中 hideByDefault 显示将是 none 并且在 fnOne 方法中将输入设置为 true。但是没有调用 fnOne 方法。
请提出任何想法。也欢迎任何其他类型的实施。
最后,在我们的应用程序中,我们决定使用 Angular 智能 Table 而不是 Angular ui 网格。在做一些 POC 时,我们能够在智能 Table 中轻松实现一些在 Angular ui 网格中复杂的事情。