目的: 複製 - checkboxmodel - 多選複製後, Locate 至複製後的資料
處理說明: 1>複製資料後,重新顯示 //複製資料
2> 跳至最後一頁
var Tmp_ptb = Ext.getCmp('grid_ptb');
Tmp_ptb.moveLast(); gridstore.on('load', function (me, records, successful, eOpts) {
var Tmp_index = gridstore.find("FMNO", Tmp_NEXT_FMNO);
var sel_rec = gridstore.getAt(Tmp_index);
Ext.getCmp('grid_Single').getView().getSelectionModel().select(sel_rec);
gridstore.un("load", gridstore.events.load.listeners[gridstore.events.load.listeners.length-1].fn);
}) // end of Ext.getCmp('grid_Single')..on("load")
for (let i = 0; i <= cur_recs.length - 1; i++) {
console.log("i:", i);
cur_rec = cur_recs[i];
//object 不可直接 assign ,指到原本cur_rec會改到原本的 cur_rec
//copy_rec = cur_rec;
copy_rec = cur_rec.copy();
Tmp_NEXT_FMNO = get_NEXT_FMNO();
var Tmp_cur_DT = DatetoStr(now, "Y/m/d");
var Tmp_MDDT = DatetoStr(copy_rec.data["MDDT"], "Y/m/d");
copy_rec.data["FMNO"]=Tmp_NEXT_FMNO;
copy_rec.data["BTDT"] = Tmp_cur_DT;
copy_rec.data["MDDT"] = Tmp_cur_DT;
copy_rec.data["STATFM"] = "A";
copy_rec.data["DTSOR"] = "A";
copy_rec.data["OSM"] = "";
//新增資料庫資料
Copy_FMNO(copy_rec);
} // end of for (let i=0,)
//重新顯示資料
Ext.getCmp('btn_Show').fireHandler();
Ext.getCmp('grid_Single').getView().refresh();
var Tmp_ptb = Ext.getCmp('grid_ptb');
Tmp_ptb.moveLast(); gridstore.on('load', function (me, records, successful, eOpts) {
var Tmp_index = gridstore.find("FMNO", Tmp_NEXT_FMNO);
var sel_rec = gridstore.getAt(Tmp_index);
Ext.getCmp('grid_Single').getView().getSelectionModel().select(sel_rec);
gridstore.un("load", gridstore.events.load.listeners[gridstore.events.load.listeners.length-1].fn);
}) // end of Ext.getCmp('grid_Single')..on("load")
2>*.js 複製後, 重新顯示 store
Ext.getCmp("btn_copy").on('click', function (me, e, eOpts) {
var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
var cur_rec;
console.log("before copy_rec");
//var copy_rec = Ext.create('Ext.data.Model', {});
var copy_rec; //?? 如何產生另一 copy_rec 不和 cur_rec 相同
var np = {};
console.log("after copy_rec");
if (cur_recs.length == 0) {
buttonModel.modelType = 0;
mywarnalert('請先勾選要複製的資料!!');
}
else {
//var gridstore = Ext.getCmp('grid_Single').store;
me.delMessage = "確定複製勾選的資料嗎?";
Ext.Msg.confirm('提醒', me.delMessage, callBackFunc);
function callBackFunc(id) {
if (id == 'yes') {
gridstore.on('load', function (me, records, successful, eOpts) {
console.log("grid_Single on load !!")
console.log("Tmp_NEXT_FMNO:", Tmp_NEXT_FMNO);
var Tmp_index = gridstore.find("FMNO", Tmp_NEXT_FMNO);
console.log("Tmp_index:", Tmp_index);
var sel_rec = gridstore.getAt(Tmp_index);
console.log("sel_rec:", sel_rec);
Ext.getCmp('grid_Single').getView().getSelectionModel().select(sel_rec);
console.log("gridstore.events:", gridstore.events);
gridstore.un("load", gridstore.events.load.listeners[gridstore.events.load.listeners.length-1].fn);
}) // end of Ext.getCmp('grid_Single')..on("load")
console.log("cur_recs.length:", cur_recs.length);
for (let i = 0; i <= cur_recs.length - 1; i++) {
console.log("i:", i);
cur_rec = cur_recs[i];
copy_rec = cur_rec;
console.log("0 cur_rec: ", cur_rec);
Tmp_NEXT_FMNO = get_NEXT_FMNO();
var Tmp_cur_DT = DatetoStr(now, "Y/m/d");
var Tmp_MDDT = DatetoStr(copy_rec.data["MDDT"], "Y/m/d");
console.log("Tmp_NEXT_FMNO:", Tmp_NEXT_FMNO);
copy_rec.data["FMNO"]=Tmp_NEXT_FMNO;
copy_rec.data["BTDT"] = Tmp_cur_DT;
copy_rec.data["MDDT"] = Tmp_cur_DT;
copy_rec.data["STATFM"] = "A";
copy_rec.data["DTSOR"] = "A";
copy_rec.data["OSM"] = "";
console.log("1 cur_rec: ", cur_rec);
console.log("copy_rec: ", copy_rec);
//新增資料庫資料
Copy_FMNO(copy_rec);
} // end of for (let i=0,)
//因為複製後, 按[顯示資料]鈕, 並不會顯示刪才新增的資料,& Local 新增的資料 Ext.getCmp('btn_Show').fireHandler();
Ext.getCmp('grid_Single').getView().refresh();
//跳至最後一頁
var Tmp_ptb = Ext.getCmp('grid_ptb');
Tmp_ptb.moveLast();
buttonModel.modelType = 0;
} // end if (id == 'yes')
} // end of callbackfunc
} //end of else {}
}
);