【发布时间】:2017-12-07 02:42:36
【问题描述】:
我对新添加的行有疑问。它继承网格中的行(按钮和行为)。该代码正在添加一个新行,但我想要一个具有 AddOverride() 函数中行为的新行。就像一个带有保存和取消按钮的按钮。当我添加新行时。新行 > 有更新和删除按钮。当我尝试在新添加的行上单击更新时,它正在调用服务进行更新。
-
HTML
<button id="addNew" ng-click="addOverride()" type="button" class="btn
btn-primary">Add Rank</button>
<div ui-grid-auto-resize ui-grid="gridOptions" ui-grid-
pagination class="gridRank" style="height: 370px !important;"></div>
填充网格
$scope.gridOptions = {
columnDefs: [
{
field: 'rankID', displayName: '', visible: false
},
{
name: 'rankDesc', field: 'rankDesc', displayName: 'Rank Desc',
cellTemplate: '<div ng-if="!row.entity.editrow">{{COL_FIELD}}</div><div ng-if="row.entity.editrow"><input type="text" style="height:30px" ng-model="MODEL_COL_FIELD"</div>', width: 350
},
{
field: 'createTime', displayName: 'Create Time', cellFilter: 'date:\'yyyy-MM-dd\'', width: 200
},
{
field: 'createUserID', displayName: 'Create UserID', enableFiltering: false, enableSorting: false, enableColumnMenu: false, width: 130
},
{
field: 'updateTime', displayName: 'Update Time', cellFilter: 'date:\'yyyy-MM-dd\'', width: 200
},
{
field: 'updateUserID', displayName: 'Update UserID', enableFiltering: false, enableSorting: false, enableColumnMenu: false, width: 130
},
{
name: 'Action', field: 'edit', enableFiltering: false, enableSorting: false, enableColumnMenu: false,
cellTemplate: '<div><button ng-show="!row.entity.editrow" ng-click="grid.appScope.edit(row.entity)"><span class="glyphicon glyphicon-edit"></span></button>' + ' ' + //Edit Button
'<button ng-show="row.entity.editrow" ng-click="grid.appScope.saveRow(row.entity)"><span class="glyphicon glyphicon-ok"></span></button>' + ' ' +//Save Button
'<button ng-show="row.entity.editrow" ng-click="grid.appScope.cancelEdit(row.entity)"><span class="glyphicon glyphicon-remove"></span></button>' + ' ' + //Cancel Button
'<button ng-show="!row.entity.editrow" ng-click="grid.appScope.Delete(row.entity)"><span class="glyphicon glyphicon-trash"></span></button>' + ' ' + //Delete Button
'</div>', width: 75
}],
data: response.data.resultLists.cookRankList,
paginationPageSizes : [10, 20, 30],
paginationPageSize : 10,
multiSelect: false
};
添加新行
$scope.addOverride = function () {
var emptyData = [
{
field: 'rankID', displayName: '', visible: false
},
{
name: 'rankDesc', field: 'rankDesc', displayName: 'Rank Desc',
cellTemplate: '<div ng-if="!row.entity.editrow">{{COL_FIELD}}</div><div ng-if="row.entity.editrow"><input type="text" style="height:30px" ng-model="MODEL_COL_FIELD"</div>', width: 350
},
{
field: 'createTime', displayName: 'Create Time', cellFilter: 'date:\'yyyy-MM-dd\'', width: 200
},
{
field: 'createUserID', displayName: 'Create UserID', enableFiltering: false, enableSorting: false, enableColumnMenu: false, width: 130
},
{
field: 'updateTime', displayName: 'Update Time', cellFilter: 'date:\'yyyy-MM-dd\'', width: 200
},
{
field: 'updateUserID', displayName: 'Update UserID', enableFiltering: false, enableSorting: false, enableColumnMenu: false, width: 130
},
{
name: 'Action', field: 'add', enableFiltering: false, enableSorting: false, enableColumnMenu: false,
cellTemplate: '<div><button ng-click="grid.appScope.saveRow(row.entity)"><span class="glyphicon glyphicon-ok"></span></button>' + ' ' +//Save Button
'<button ng-click="grid.appScope.cancelEdit(row.entity)"><span class="glyphicon glyphicon-remove"></span></button>' + ' ' + //Cancel Button
'</div>', width: 75
}
];
$scope.gridOptions.data.unshift(emptyData);
};
【问题讨论】:
标签: angularjs angular-ui-grid ui-grid