關於ExtJS GridPanel幻影資料解決辦法
阿新 • • 發佈:2018-12-15
這個問題是很早以前發現的,最近偶然再次遇見了,把以前整理的筆記分享一下
var records = store.getUpdatedRecords();// 獲取修改的行的資料,無法獲取幻影資料 var records = store.getRange(); // var phantoms=store.getNewRecords( ) ;//獲得幻影行 // records=records.concat(phantoms);//將幻影資料與真實資料合併 當Store.getUpdatedRecords 獲取不到資料時 1.資料沒有改變 2.model中的ID沒有被區分,或者是store 中的資料直接沒有id 這個屬性,所有獲取不到資料 解決辦法:(2) 在model中新增idProperty屬性,預設是ID,如果獲取不到id 或者後臺沒有傳遞id,並且前臺js中也沒有設定id,就將idProperty設為其它欄位(注意是能夠區分的唯一欄位) 比如: 2016.3.25 Ext.define('costingBillModel',{ extend: 'Ext.data.Model', idProperty: 'missionBillId',//新增的idProperty fields: [ { name: 'id', defaultValue: '' }, { name: 'missionBillId', defaultValue: '', }, { name: 'goodsId', defaultValue: '', }, { name: 'goodsName', defaultValue: '', }, { name: 'goodsCode', defaultValue: '' }, { name: 'model', defaultValue: '' }, { //物料成本 name: 'materialCost', defaultValue: '', }, { //工時費用 name: 'hourCosts', defaultValue: '', }, { //水電費 name: 'utilities', defaultValue: '', }, { //裝置折舊費 name: 'fix_Depreciation', defaultValue: '', }, { //物業成本 name: 'tenementCosts', defaultValue: '', }, { //其它費用 name: 'otherCosts', defaultValue: '', }, { //合計 name: 'totalCosts', defaultValue: '', }, { //備註 name: 'remark', defaultValue: '', }, ] });