editgrid表格,编辑状态,取消编辑,键盘enter事件
使用的是easyui框架中的editgrid表格
editgrid:
$(function() {
$("#QSFJKL_LYid2").editgrid('keyBoardInit');//键盘属性起作用
});
//页面上html中只写
//<table width="100%" id="jtcfymxDg"></table>
$("#jtcfymxDg").editgrid({
title: '',
rownumbers: true,
singleSelect: true,
height: 160,
remoteSort: true,
kBoard: { //键盘控制属性
autoNewRow: true, //自动添新加行
onBeforeNextRow: WLDSQ_ValidateRow, //通过按键转向下一行之前
onBeforePrevRow: WLDSQ_ValidateRow //通过按键转向上一行之前
},
onRowBlur: function(rowIndex, rowData) {//行离开焦点事件
return WLDSQ_ValidateRow(rowIndex, rowData);//rowindex为具体行,rowData为数据
},
columns: [
[{
title: '操作',
field: 'del',
width: '50',
align: 'center',
hidden: true,
formatter: function(value, row, index) {
return '<a href="#" onclick="jxhtItemDg_delrow(\'#jtcfymxDg\',\'NY\',' + row.NY + ')">删除</a>';
}
}, {
title: '年月',
field: 'NY',
width: '120',
align: 'center',
editor: {
type: 'text',
options: {
required: true,
}
},
}, {
title: '扣款金额',
field: 'JE',
width: '100',
align: 'center',
editor: {
type: 'text',
options: {
required: true,
min: 0,
precision: 0,
}
}
}, {
title: '已扣款金额',
field: 'YKKJE',
width: '100',
align: 'center'
}]
],
onLoadError: function(res) {
$.messager.alert("加载错误", res.responseText, 'error');
}
});
变成编辑状态
function jxhtItemDg_beginEdit(dgid) {//dgid为"#jtcfymxDg"
var rows = $(dgid).datagrid("getRows");
if(!rows.length) {
$(dgid).editgrid('loadData', [{}]);
} else {
if(rows.length == 0) {
$(dgid).editgrid('loadData', [{}]);
}
}
$(dgid).editgrid('allRefreshRow');//刷新
$(dgid).editgrid('allBeginEdit');
$(dgid).editgrid('rowFocus', 0);//第一行获得焦点
$(dgid).editgrid('showColumn', 'del');//第一列隐藏的展示出来,del等于field
}
结束编辑状态
function jxhtItemDg_endEditing(dgid) {//dgid为"#jtcfymxDg"
$(dgid).editgrid('allEndEdit');//结束标记
$(dgid).editgrid('hideColumn', 'del');//隐藏列,del等于field
}
删除表格中数据
function jxhtItemDg_delrow(dgid, field, val) {
//jxhtItemDg_delrow(\'#jtcfymxDg\',\'NY\',' + row.NY + ')">
var rows = $(dgid).datagrid("getRows");
if(rows.length == 1) {
$(dgid).editgrid('loadData', [{}]);
$(dgid).editgrid('allBeginEdit');
$(dgid).editgrid('rowFocus', 0);
return;
}
var row = undefined;
for(var key in rows) {
if(rows[key][field] == val) {//判断所有行中那个field等于val,则将此行删除
row = rows[key];
break;
}
}
if(row != undefined) {
var index = $(dgid).datagrid("getRowIndex", row);//得到行index
$(dgid).editgrid("deleteRow", index);
}
}
焦点离开行事件
function WLDSQ_ValidateRow(rowIndex, rowData) {
var RowData = $('#jtcfymxDg').editgrid('getRowData', rowIndex);
//此为当前编辑行的值
}