目的: V80E01 - 依 SQL 資料(N筆) 新增 Grid 顯示欄位
處理說明: 1> 欄位名稱 [SQL 資料(N筆)] 透過 Cookie 由後端傳至前端
2> Grid 的 model 及 column 必需重新設定
Ext.define('GridModel1', {
extend: 'Ext.data.Model',
fields: J_gridmodel
});
Ext.getCmp('grid_Single').store.getProxy().setModel(GridModel1, true);
Ext.getCmp('grid_Single').reconfigure(Ext.getCmp('grid_Single').store, J_columns);
Ext.getCmp('grid_Single').reloadGridData();
extend: 'Ext.data.Model',
fields: J_gridmodel
});
Ext.getCmp('grid_Single').store.getProxy().setModel(GridModel1, true);
Ext.getCmp('grid_Single').reconfigure(Ext.getCmp('grid_Single').store, J_columns);
Ext.getCmp('grid_Single').reloadGridData();
1>*.js
items: [
{
xtype: 'button',
id: 'btn_Show',
flex: 5,
border: 1,
text: '資料顯示',
iconCls: 'icon-search',
handler: function () {
var Tmp_PITM = Ext.getCmp("s_PITM").getValue();
if (checkisnull(Tmp_PITM)) {
var Tmp_Str = "[受訓專業]過濾條件不可空白<br>"
+ "請先輸入!!";
mywarnalert(Tmp_Str);
return;
}
var np = s_JSON('s_form'); //TMFunction.js, 組合form上的查詢條件為json參數傳遞
gridstore.getProxy().url = '../api/V80E01API/getGridData_M';
gridstore.getProxy().extraParams = np; //分頁OK,篩選條件OK
Ext.getCmp('grid_Single').store.pageSize = 30;
Ext.getCmp('grid_Single').reloadGridData();
Ext.getCmp('grid_Single').store.on('load', function (me, records, successful, operation, eOpts) {
settrue("grid_Single");
})
waittrue("grid_Single", AddFields);
function AddFields() {
//讀取 新增的欄位s字串 ["COSCStr"]
var Tmp_COSCStr = r_cookies('COSCStr');
//console.log("r_cookies=", r);
if (!checkisnull(Tmp_COSCStr)) {
//先恢愎至原本的欄位 Array - J_gridmodel (7筆) & J_columns(8筆) ,
//以免每按[顯示資料], COSC欄位一直累加
while (J_gridmodel.length > 7)
J_gridmodel.pop();
while (J_columns.length > 8)
J_columns.pop();
var Tmp_COSC_Ary = Tmp_COSCStr.split(',');
var Tmp_cur_COSC = "";
var Tmp_COSC_Obj = {};
var Tmp_COSC_Obj1 = {};
for (var i = 0; i < Tmp_COSC_Ary.length; i++) {
Tmp_cur_COSC = Tmp_COSC_Ary[i];
//var J_gridmodel = [
// { name: "EMPLYID" },
// { name: "EMPLYNM" },
// ]
//將 Tmp_cur_COSC 加入 J_gridmodel
Tmp_COSC_Obj = { name: Tmp_cur_COSC };
J_gridmodel.push(Tmp_COSC_Obj);
Tmp_COSC_Obj1 = { header: Tmp_cur_COSC, dataIndex: Tmp_cur_COSC, width: 60, TMType: "string" };
J_columns.push(Tmp_COSC_Obj1);
}
console.log("J_gridmodel:", J_gridmodel);
console.log("J_columns:", J_columns);
}
//Ext.getCmp('grid_Single').getView().refresh();
//重設 store 的 model & columns
Ext.define('GridModel1', {
extend: 'Ext.data.Model',
fields: J_gridmodel
});
Ext.getCmp('grid_Single').store.getProxy().setModel(GridModel1, true);
Ext.getCmp('grid_Single').reconfigure(Ext.getCmp('grid_Single').store, J_columns);
Ext.getCmp('grid_Single').reloadGridData();
} // end of AddFields
}
}, // end of 顯示資料
items: [
{
xtype: 'button',
id: 'btn_Show',
flex: 5,
border: 1,
text: '資料顯示',
iconCls: 'icon-search',
handler: function () {
var Tmp_PITM = Ext.getCmp("s_PITM").getValue();
if (checkisnull(Tmp_PITM)) {
var Tmp_Str = "[受訓專業]過濾條件不可空白<br>"
+ "請先輸入!!";
mywarnalert(Tmp_Str);
return;
}
var np = s_JSON('s_form'); //TMFunction.js, 組合form上的查詢條件為json參數傳遞
gridstore.getProxy().url = '../api/V80E01API/getGridData_M';
gridstore.getProxy().extraParams = np; //分頁OK,篩選條件OK
Ext.getCmp('grid_Single').store.pageSize = 30;
Ext.getCmp('grid_Single').reloadGridData();
Ext.getCmp('grid_Single').store.on('load', function (me, records, successful, operation, eOpts) {
settrue("grid_Single");
})
waittrue("grid_Single", AddFields);
function AddFields() {
//讀取 新增的欄位s字串 ["COSCStr"]
var Tmp_COSCStr = r_cookies('COSCStr');
//console.log("r_cookies=", r);
if (!checkisnull(Tmp_COSCStr)) {
//先恢愎至原本的欄位 Array - J_gridmodel (7筆) & J_columns(8筆) ,
//以免每按[顯示資料], COSC欄位一直累加
while (J_gridmodel.length > 7)
J_gridmodel.pop();
while (J_columns.length > 8)
J_columns.pop();
var Tmp_COSC_Ary = Tmp_COSCStr.split(',');
var Tmp_cur_COSC = "";
var Tmp_COSC_Obj = {};
var Tmp_COSC_Obj1 = {};
for (var i = 0; i < Tmp_COSC_Ary.length; i++) {
Tmp_cur_COSC = Tmp_COSC_Ary[i];
//var J_gridmodel = [
// { name: "EMPLYID" },
// { name: "EMPLYNM" },
// ]
//將 Tmp_cur_COSC 加入 J_gridmodel
Tmp_COSC_Obj = { name: Tmp_cur_COSC };
J_gridmodel.push(Tmp_COSC_Obj);
Tmp_COSC_Obj1 = { header: Tmp_cur_COSC, dataIndex: Tmp_cur_COSC, width: 60, TMType: "string" };
J_columns.push(Tmp_COSC_Obj1);
}
console.log("J_gridmodel:", J_gridmodel);
console.log("J_columns:", J_columns);
}
//Ext.getCmp('grid_Single').getView().refresh();
//重設 store 的 model & columns
Ext.define('GridModel1', {
extend: 'Ext.data.Model',
fields: J_gridmodel
});
Ext.getCmp('grid_Single').store.getProxy().setModel(GridModel1, true);
Ext.getCmp('grid_Single').reconfigure(Ext.getCmp('grid_Single').store, J_columns);
Ext.getCmp('grid_Single').reloadGridData();
} // end of AddFields
}
}, // end of 顯示資料
沒有留言:
張貼留言