Web改版V120902 – 出勤現況維護 –
目的: 以Checkbox編輯欄位值
問題: 1>如何在 Grid Columns 加入 CheckBox
2>如何在後端讀取 CheckBox欄位值
Q1>如何在 Grid Columns 加入 CheckBox
Ans: 1>於Grid的 Columns加入一欄位 : xtype: 'checkColumn',
{header: '缺勤',
dataIndex: 'NWK',
xtype: 'checkcolumn',
:
}
2> checkColumn renderer 時, 傳回 <input type='checkbox' checked/>
依欄位值 , 設定 checked 或空白
renderer: function (value, metadata, record, rowIndex, colIndex, store) {
var tempVal = '';
if ((value === 'Y') || (value === true)) { tempVal = 'checked'; }
var Tmp_Str = "<input type='checkbox' name=" + DatetoStr(record.get('DT')) + "_" + record.get('DEP') + "_" + record.get('EMPLYID') + " " + tempVal + " >";
return Tmp_Str;
},
3>按[確定]鈕, 每筆 store 處理 [NWK]欄位值
var Tmp_Grid = Ext.getCmp('sub2_Grid');
var Tmp_store = Tmp_Grid.store;
var Tmp_TotalCnt = Tmp_store.getTotalCount();
for (i = 0; i < Tmp_TotalCnt; i++) {
console.log("更新第 i 筆", i);
//依目前 store的資料, 更新 AMM_FACDEPD.NWK , PK( DT+DEP+EMPLYID)
cur_rec = Tmp_store.getAt(i);
Tmp_DT = cur_rec.data["DT"];
Tmp_DEP = cur_rec.data["DEP"];
Tmp_EMPLYID = cur_rec.data["EMPLYID"];
Tmp_LDMAN = cur_rec.data["LDMAN"];
Tmp_NWK = cur_rec.data["NWK"];
:
}
PS1: 加入 checkbox 欄位
var sub2_Columns = [
{ header: "員工編號", dataIndex: "EMPLYID", width: 150, TMType: "string" },
{ header: "姓名", dataIndex: "EMPLYID_", width: 100, TMType: "string" },
{ header: "備註", dataIndex: "NOTE", width: 200, TMType: "string", },
{
header: '缺勤',
dataIndex: 'NWK',
xtype: 'checkcolumn',
width: 60,
editor: {
xtype: 'checkbox',
cls: 'x-grid-checkheader-editor',
inputValue: 'Y',
uncheckedValue: 'N'
},
//A renderer function used to return HTML markup for a cell given the cell's data value.
renderer: function (value, metadata, record, rowIndex, colIndex, store) {
var tempVal = '';
if ((value === 'Y') || (value === true)) { tempVal = 'checked'; }
var Tmp_Str = "<input type='checkbox' name=" + DatetoStr(record.get('DT')) + "_" + record.get('DEP') + "_" + record.get('EMPLYID') + " " + tempVal + " >";
return Tmp_Str;
},
}, // end of header='缺勤1'
];
PS2: renderer 時, 依[NWK]欄位值 , 設定 checked
Q2>如何在後端讀取 CheckBox欄位值
Ans:
public HttpResponseMessage UPD_AMM_FACDEPD()
string Tmp_NWK = nvc["Tmp_NWK"];
if ((Tmp_NWK=="true") || (Tmp_NWK == "Y"))
{ Tmp_NWK_VAL = "Y"; }
else
{ Tmp_NWK_VAL = "N"; }
string Tmp_NWK = nvc["Tmp_NWK"];
if ((Tmp_NWK=="true") || (Tmp_NWK == "Y"))
{ Tmp_NWK_VAL = "Y"; }
else
{ Tmp_NWK_VAL = "N"; }
Tmp_Sql = " UPDATE AMM_FACDEPD "
+ " SET NWK=" + myfunc.AA(Tmp_NWK_VAL)+","
+" NOTE=" + myfunc.AA(Tmp_NOTE)
+ " WHERE DT= " + myfunc.AA(Tmp_DT)
+ " AND DEP= " + myfunc.AA(Tmp_DEP)
+ " AND EMPLYID= " + myfunc.AA(Tmp_EMPLYID);