UIでテーブルを表示するためにui-gridを使用しています。テーブルを自動保存する必要がないという要件があります。私は、ユーザーがテーブル内のすべてのデータを編集してボタンをクリックして、編集したすべてのデータを更新してほしい。saveRowイベントを無効にする方法ui-grid
上記のbehavioudはうまくいきますが、私が得意なのは、ユーザーが数秒後に行のセルを編集するたびに、そのセルがグレーで編集不能になることです。ブラウザ上で、私はこのエラーを取得していますcnsole:
約束がsaveRowイベントが発生したときに返されませんでした、どちらか誰もイベントを聞いていない、またはイベントハンドラされるため、JSエラー上記の
約束を返しませんでした行全体が編集不可能になります。 ボタンをクリックしない限り、データを保存しないようにui-gridに指示する方法。
saveRowイベントを処理すると、私のボタンが機能しません。この点で私を助けてください。ここで
は、関連するコードの抜粋です:
var grid = {
data : 'hwData['+key+']',
paginationPageSizes: [25, 50, 75],
paginationPageSize: 25,
enableGridMenu: true,
enableFiltering: true,
enableSelectAll: true,
enableColumnResize : true,
exporterCsvFilename: 'myFile.csv',
exporterMenuPdf: false,
exporterCsvLinkElement: angular.element(document.querySelectorAll(".custom-csv-link-location")),
onRegisterApi: function(gridApi){
$scope.gridApi.push(gridApi);
gridApi.edit.on.afterCellEdit($scope,function(rowEntity, colDef, newValue, oldValue){
if(oldValue == newValue){
return false;
}
$("#test").prepend('<font color= "red"> ' +colDef.name+ 'Edited ');
})
},
..............some more code
..............
$.ajax({
type:'POST',
url:'/HardwareInventory/ajax/storage/edit_owned_storage',
data: jsonHostNames,
dataType:"json",
contentType: "application/json; charset=utf-8",
success : function(result){
if(result.status == "Success"){
location.reload(true);
}else{
bootbox.alert("Either hostname is not correct or you don't have permission to edit this team's data");
}
},
statusCode: {
500: function(){
alert("Oops!, there has been an internal error");
}
},
complete: function(result){
}
});
}
});