$scope.onTimeout = function () {
if (!$scope.new) // 處於某種狀態暫時不更新
{
$http.post('...')
.then(function (result) {
var oldlist = Enumerable.From($scope.gridOptions.api.getModel().rowsToDisplay).Select('$.data');
var newlist = Enumerable.From(result.data);
var 增加資料s = [];
newlist.ForEach(function (a) {
if (!oldlist.Any('$.id==' + a.id)) 增加資料s.push(a);
});
$scope.gridOptions.api.updateRowData({ add: 增加資料s, addIndex: 0 });
var 減少資料s = [];
oldlist.ForEach(function (a) {
if (!newlist.Any('$.id==' + a.id)) 減少資料s.push(a);
});
$scope.gridOptions.api.updateRowData({ remove: 減少資料s }); Enumerable.From($scope.gridOptions.api.getModel().rowsToDisplay).ForEach(function (node) {
var newdata = newlist.Where('$.id==' + node.data.id).SingleOrDefault();
if (newdata && JSON.stringify(node.data) != JSON.stringify(newdata)) {
node.setData(newdata);
$scope.gridOptions.api.redrawRows({ rowNodes: [node] });
}
});
}).finally(function (data) {
$timeout($scope.onTimeout, 10000);
});
}
else $timeout($scope.onTimeout, 10000);
}
$timeout($scope.onTimeout, 10000);
訂閱:
張貼留言 (Atom)
vue3-simple-alert 學習心得
官網 顯示提示輸入訊息並於按下確定時檢查是否有輸入,防止未輸入就按確定,且和按取消用不同邏輯處理 VueSimpleAlert.fire({ title: '請輸入原因', input: 'text', showCancel...
-
1. 設定檔案下載儲存位置為 C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache 2. 勾選"下載每個檔案前詢問儲存位置" 3. 針對不要下載的檔案類型於第一...
-
自動設定欄寬 sheet.Cells.AutoFitColumns(3, 20); // 必須設定 min 跟 max 才會正常作用 凍結欄位 sheet.View.FreezePanes(4, 4); 標題列 ws.PrinterSettings.RepeatRo...
-
使用 FreeSpire.XLS ... ep.Save(); using (var workbook = new Workbook()) using (var memStream = new MemoryStream()) { workbook.LoadFromSt...
沒有留言:
張貼留言