目的: 以 checkbox 選擇行, 且允許多選
問題: 1>如何在每一行開頭,加入checkbox (xtype: 'checkcolumn')
2>依勾選資料處理(可多選)
處理說明:
1>在每一行開頭,加入 checkbox
var J_columns = [
{ header: "", xtype: "rownumberer", width: 50, align: "center", sortable: false },
{
header: '勾選',
dataIndex: 'CHECK',
xtype: 'checkcolumn',
width: 60,
renderer: function (value, metadata, record, rowIndex, colIndex, store) {
var tempVal = '';
if ((value === 'Y') || (value === true)) { tempVal = 'checked'; }
var Tmp_Str = "<input type='checkbox' name=" + (record.get('AMMNO')) + " " + tempVal + " >";
return Tmp_Str;
},
}, // end of header='[ ]勾選'
{header:"AMM單號",dataIndex:"AMMNO",width:150,TMType:"string"},
{header:"AMM單況",dataIndex:"AMMSTS",width:75,TMType:"string"},
{header:"AMM單況說明",dataIndex:"AMMSTS_"},
{header:"工號",dataIndex:"SAPNO",width:120,TMType:"string"},
{header:"件號",dataIndex:"PN",width:150,TMType:"string"},
{ header: "", xtype: "rownumberer", width: 50, align: "center", sortable: false },
{
header: '勾選',
dataIndex: 'CHECK',
xtype: 'checkcolumn',
width: 60,
renderer: function (value, metadata, record, rowIndex, colIndex, store) {
var tempVal = '';
if ((value === 'Y') || (value === true)) { tempVal = 'checked'; }
var Tmp_Str = "<input type='checkbox' name=" + (record.get('AMMNO')) + " " + tempVal + " >";
return Tmp_Str;
},
}, // end of header='[ ]勾選'
{header:"AMM單號",dataIndex:"AMMNO",width:150,TMType:"string"},
{header:"AMM單況",dataIndex:"AMMSTS",width:75,TMType:"string"},
{header:"AMM單況說明",dataIndex:"AMMSTS_"},
{header:"工號",dataIndex:"SAPNO",width:120,TMType:"string"},
{header:"件號",dataIndex:"PN",width:150,TMType:"string"},
:
];
];
2>依勾選資料處理(可多選)
win.show();
var Tmp_Str = '';
var Tmp_Grid = Ext.getCmp('grid_Single');
var Tmp_store = Tmp_Grid.store; //= gridstore
var Tmp_sub_Grid = Ext.getCmp('sub_Grid');
var Tmp_sub_store = Tmp_sub_Grid.store; //= gridstore
var Tmp_PageCnt = Tmp_store.getCount(); //store筆數
var cur_rec, Tmp_AMMNO, Tmp_CHECK, Tmp_SAPNO, Tmp_PN, Tmp_QTY, Tmp_EOCND, Tmp_RMK ;
var Tmp_OK = true;
var np = {};
var sub_Store_np = {};
var Tmp_SelCnt = 0;
//將主畫面勾選的資料, 加入子視窗.DBGrid
for (i = 0; i < Tmp_PageCnt; i++) {
//console.log("更新第 i 筆", i);
//依目前 store的資料, 更新 AMM_FACDEPD.NWK , PK( DT+DEP+EMPLYID)
cur_rec = Tmp_store.getAt(i);
Tmp_AMMNO = cur_rec.data["AMMNO"];
Tmp_CHECK = cur_rec.data["CHECK"];
//console.log("1 Tmp_AMMNO=", Tmp_AMMNO);
//console.log("1 Tmp_CHECK=", Tmp_CHECK);
Tmp_SAPNO = cur_rec.data["SAPNO"];
Tmp_PN = cur_rec.data["PN"];
Tmp_QTY = cur_rec.data["QTY"];
if (!checkisnull(cur_rec.data["ECNO"])) {
Tmp_EOCND = cur_rec.data["ECNO"] + "+" + cur_rec.data["CNDPROCCODE"];
}
else {
Tmp_EOCND = "";
}
Tmp_RMK = cur_rec.data["ACNO_"];
//若主畫面資料有勾選,則加入 sub_store , sub_store 不分頁
if (Tmp_CHECK) {
sub_Store_np = {
SAPNO: Tmp_SAPNO,
PN: Tmp_PN,
QTY: Tmp_QTY,
EOCND: Tmp_EOCND,
RMK: Tmp_RMK,
}
Tmp_sub_store.add(sub_Store_np);
}
} // end of for i=
Tmp_SelCnt = Tmp_sub_store.getCount();
if (Tmp_SelCnt == 0) {
mywarnalert("請先選擇要列印的資料 !!");
//console.log("Ext.getCmp('sub_Grid'):", Ext.getCmp('sub_Grid'));
//Ext.getCmp('sub_Grid').up('window').close();
//Ext.getCmp('sub_Grid').up('window').destroy();
return;
}
var Tmp_Str = '';
var Tmp_Grid = Ext.getCmp('grid_Single');
var Tmp_store = Tmp_Grid.store; //= gridstore
var Tmp_sub_Grid = Ext.getCmp('sub_Grid');
var Tmp_sub_store = Tmp_sub_Grid.store; //= gridstore
var Tmp_PageCnt = Tmp_store.getCount(); //store筆數
var cur_rec, Tmp_AMMNO, Tmp_CHECK, Tmp_SAPNO, Tmp_PN, Tmp_QTY, Tmp_EOCND, Tmp_RMK ;
var Tmp_OK = true;
var np = {};
var sub_Store_np = {};
var Tmp_SelCnt = 0;
//將主畫面勾選的資料, 加入子視窗.DBGrid
for (i = 0; i < Tmp_PageCnt; i++) {
//console.log("更新第 i 筆", i);
//依目前 store的資料, 更新 AMM_FACDEPD.NWK , PK( DT+DEP+EMPLYID)
cur_rec = Tmp_store.getAt(i);
Tmp_AMMNO = cur_rec.data["AMMNO"];
Tmp_CHECK = cur_rec.data["CHECK"];
//console.log("1 Tmp_AMMNO=", Tmp_AMMNO);
//console.log("1 Tmp_CHECK=", Tmp_CHECK);
Tmp_SAPNO = cur_rec.data["SAPNO"];
Tmp_PN = cur_rec.data["PN"];
Tmp_QTY = cur_rec.data["QTY"];
if (!checkisnull(cur_rec.data["ECNO"])) {
Tmp_EOCND = cur_rec.data["ECNO"] + "+" + cur_rec.data["CNDPROCCODE"];
}
else {
Tmp_EOCND = "";
}
Tmp_RMK = cur_rec.data["ACNO_"];
//若主畫面資料有勾選,則加入 sub_store , sub_store 不分頁
if (Tmp_CHECK) {
sub_Store_np = {
SAPNO: Tmp_SAPNO,
PN: Tmp_PN,
QTY: Tmp_QTY,
EOCND: Tmp_EOCND,
RMK: Tmp_RMK,
}
Tmp_sub_store.add(sub_Store_np);
}
} // end of for i=
Tmp_SelCnt = Tmp_sub_store.getCount();
if (Tmp_SelCnt == 0) {
mywarnalert("請先選擇要列印的資料 !!");
//console.log("Ext.getCmp('sub_Grid'):", Ext.getCmp('sub_Grid'));
//Ext.getCmp('sub_Grid').up('window').close();
//Ext.getCmp('sub_Grid').up('window').destroy();
return;
}
沒有留言:
張貼留言