Vs2010 MVC 用Easyui 生成表格,实现不与数据库交互增删改查 数据联动
//删除参数
delParam: function (options) {
var grid = $('#MidPayCertificatees');
var row = grid.datagrid('getSelected');
if (row) {
var rowsData = grid.datagrid('getRows');
var len = rowsData.length - 3;
//删除选中行
if (this.rowIndex > len || len == 0 || this.rowIndex == 0) {
alert("第一行不可删除!");
return;
}
else {
grid.datagrid('deleteRow', this.rowIndex);
}
//启用特定框编辑状态
var ColATotal = 0;
var ColBTotal = 0;
var ColCTotal = 0;
for (var i = 0; i < len; i++) {
grid.datagrid('beginEdit', i);
//本期小计
var ColA = grid.datagrid('getRows')[i]["amount_borrowmoney"];
var ColB = grid.datagrid('getRows')[i]["amount_advance"];
var ColC = grid.datagrid('getRows')[i]["amount_measurement"];
var ColD = grid.datagrid('getRows')[i]["amount_earnest"];
var ColE = grid.datagrid('getRows')[0]["amount_CurrentAccumulated"];
var ColF = grid.datagrid('getRows')[0]["lp_nowpayment"];
ColA = ((ColA == "") ? 0 : parseFloat(ColA));
ColB = ((ColB == "") ? 0 : parseFloat(ColB));
ColC = ((ColC == "") ? 0 : parseFloat(ColC));
ColD = ((ColD == "") ? 0 : parseFloat(ColD));
ColE = ((ColE == "") ? 0 : parseFloat(ColE));
ColF = ((ColF == "") ? 0 : parseFloat(ColF));
ColATotal = ColATotal + ColA + ColB + ColC + ColD;
ColBTotal = ColE - ColF;
ColCTotal = ColE;
};
if (len > 0) {
//本期小计
grid.datagrid('getRows')[len]["applyDate"] = ColATotal.toFixed(2);
$("td[field|=applyDate] div").eq(len + 1).text(ColATotal.toFixed(2));
//截至本期期末累计
grid.datagrid('getRows')[len + 1]["applyDate"] = ColBTotal.toFixed(2);
var Curr = ColCTotal + ColATotal;
$("td[field|=applyDate] div").eq(len + 2).text(Curr.toFixed(2));
//差额
var diff = ColBTotal + ColATotal;
grid.datagrid('getRows')[0]["amount_difference"] = diff.toFixed(2)
$("td[field|=amount_difference] div").eq(1).text(diff.toFixed(2));
}
}
}
## 添加行 合计 合并单元格**
**加粗样式
//添加行
addParam: function (options) {
var me = this;
var grid = $('#MidPayCertificatees');
var parent = $(this).parents(".datagrid-row");
var trObj = $(".datagrid-row");
//添加同类型的参数
var len = parseInt(grid.datagrid('getRows').length);
var now = new Date();
var year = now.getFullYear(); //得到年份
var month = now.getMonth(); //得到月份
var date = now.getDate(); //得到日期
month = month + 1;
if (month < 10) month = "0" + month;
if (date < 10) date = "0" + date;
var time = "";
time = year + "-" + month + "-" + date;
var rowdata = {
row_id: '00000000-0000-0000-0000-000000000000',
sec_id: options.sec_id,
sec_userId: '',
sec_userName: '',
income_id: options.row_id,
create_datetime: time,
update_datetime: time,
applyDate: time,
amount_advance: 0,
amount_measurement: 0,
amount_CurrentAccumulated: 0,
amount_earnest: 0,
sec_name: options.sec_name,
amount_borrowmoney: 0,
lp_nowpayment: 0
};
if (len <= 1) {
len = 1;
}
else {
len = len - 2;
}
grid.datagrid('insertRow', { index: len, row: rowdata });
this.rowIndex = len;
grid.datagrid('selectRow', this.rowIndex)
.datagrid('beginEdit', this.rowIndex);
var rows = grid.datagrid('getRows');
var ColATotal = 0;
var ColBTotal = 0;
var ColCTotal = 0;
var ColDTotal = 0;
var ColEtotal = 0;
var ColFtotal = 0;
var ColGTotal = 0;
var rownum = 0;
var DateTimeBox = [];
if (rows.length == 1) {
rownum = 3;
}
else {
rownum = rows.length;
}
for (var i = 0; i < rownum - 2; i++) {
grid.datagrid('beginEdit', i);
//本期小计
var ColA = grid.datagrid('getRows')[i]["amount_borrowmoney"];
var ColB = grid.datagrid('getRows')[i]["amount_advance"];
var ColC = grid.datagrid('getRows')[i]["amount_measurement"];
var ColD = grid.datagrid('getRows')[i]["amount_earnest"];
ColEtotal = grid.datagrid('getRows')[0]["amount_CurrentAccumulated"];
var ColF = grid.datagrid('getRows')[0]["lp_nowpayment"];
var qweqwe = grid.datagrid('getRows')[i]["applyDate"];
DateTimeBox.push(grid.datagrid('getRows')[i]["applyDate"]);
ColA = ((ColA == "") ? 0 : parseFloat(ColA));
ColB = ((ColB == "") ? 0 : parseFloat(ColB));
ColC = ((ColC == "") ? 0 : parseFloat(ColC));
ColD = ((ColD == "") ? 0 : parseFloat(ColD));
ColF = ((ColF == "") ? 0 : parseFloat(ColF));
ColATotal = ColATotal + ColA + ColB + ColC + ColD;
ColEtotal = ((ColEtotal == "") ? 0 : parseFloat(ColEtotal));
ColGTotal = ColF;
}
var diff = ColATotal + ColEtotal - ColGTotal;
//差额
if (rows.length > 0) {
grid.datagrid('getRows')[0]["amount_difference"] = diff.toFixed(2)
$("td[field|=amount_difference] div").eq(1).text(diff.toFixed(2));
}
//--------------------------------------------------------
$("td[field|=applyDate]").find(".datagrid-editable-input").keyup(function () {
var parents = $(this).parents(".datagrid-row");
var value = this.value;
$("td[field|=applyDate] text", parents).text(value);
var pId = parents.attr("id");
var index = parseInt(pId.match(/\d+$/)[0]);
grid.datagrid('getRows')[index]["applyDate"] = value;
})
if (rows.length == 1) {
grid.datagrid("appendRow", {
row_id: options.row_id,
sec_id: options.sec_id,
sec_userId: '',
sec_userName: '',
create_datetime: '',
update_datetime: '',
amount_differences: '',
applyDate: ColATotal.toFixed(2),
amount_advance: '',
amount_measurement: '',
amount_earnest: '',
sec_name: "本期小计",
amount_borrowmoney: 0,
lp_nowpayment: 0
});
var number = ColATotal + ColEtotal;
grid.datagrid("appendRow", {
row_id: options.row_id,
sec_id: options.sec_id,
sec_userId: '',
sec_userName: '',
create_datetime: '',
update_datetime: '',
amount_differences: '',
applyDate: number.toFixed(2),
amount_advance: '',
amount_measurement: '',
amount_earnest: '',
sec_name: "截至本期末累计",
amount_borrowmoney: 0,
lp_nowpayment: 0
});
}
// 合并行
var rows = parseInt(grid.datagrid('getRows').length);
var merges = [{
index: 0,
rowspan: rows
}];
for (var i = 0; i < merges.length; i++)
$('#MidPayCertificatees').datagrid('mergeCells', {
index: merges[i].index,
field: 'lp_nowpayment',
rowspan: merges[i].rowspan
});
// for (var i = 0; i < merges.length; i++)
// $('#MidPayCertificatees').datagrid('mergeCells', {
// index: merges[i].index,
// field: 'sec_name',
// rowspan: merges[i].rowspan - 2
// });
for (var i = 0; i < merges.length; i++)
$('#MidPayCertificatees').datagrid('mergeCells', {
index: merges[i].index,
field: 'amount_difference',
rowspan: merges[i].rowspan
});
for (var i = 0; i < merges.length; i++)
$('#MidPayCertificatees').datagrid('mergeCells', {
index: rows - 1,
field: 'applyDate',
colspan: 5
});
for (var i = 0; i < merges.length; i++)
$('#MidPayCertificatees').datagrid('mergeCells', {
index: rows - 2,
field: 'applyDate',
colspan: 5
})
//加载成功后,设置数值间的联动
me.relativeChange();
},
-----------------------------------------数据联动
//监听本期变动A
var parent = $(this).parents(".datagrid-row");
var trObj = $(".datagrid-row");
var grid = $(’#MidPayCertificatees’);
var rows = grid.datagrid(‘getRows’);
$(“td[field|=amount_borrowmoney] .numberbox-f”).keydown(function (event) {
}).keyup(function () {
//当前编辑框所在父行元素
var parent = $(this).parents(".datagrid-row");
//当前输入框所在grid索引
var rowIndex = parent[0].rowIndex;
//设置本身值
var value = ((this.value == "" || this.value == "-") ? 0 : parseFloat(this.value));
var valLength = value.toString();
if (valLength.length > 14) {
this.value = value = me.Numbertext(value);
}
grid.datagrid('getRows')[rowIndex]["amount_borrowmoney"] = value.toString()
$("td[field|=amount_borrowmoney] input", trObj[rowIndex]).text(value.toString());
// var aa = grid.datagrid('getRows')[rowIndex]["amount_borrowmoney"];
//启用特定框编辑状态
var ColATotal = 0;
var ColBTotal = 0;
var ColCTotal = 0;
for (var i = 0; i < rows.length - 2; i++) {
grid.datagrid('beginEdit', i);
//本期小计
var ColA = grid.datagrid('getRows')[i]["amount_borrowmoney"];
var ColB = grid.datagrid('getRows')[i]["amount_advance"];
var ColC = grid.datagrid('getRows')[i]["amount_measurement"];
var ColD = grid.datagrid('getRows')[i]["amount_earnest"];
var ColE = grid.datagrid('getRows')[0]["amount_CurrentAccumulated"];
var ColF = grid.datagrid('getRows')[0]["lp_nowpayment"];
ColA = ((ColA == "") ? 0 : parseFloat(ColA));
ColB = ((ColB == "") ? 0 : parseFloat(ColB));
ColC = ((ColC == "") ? 0 : parseFloat(ColC));
ColD = ((ColD == "") ? 0 : parseFloat(ColD));
ColE = ((ColE == "") ? 0 : parseFloat(ColE));
ColF = ((ColF == "") ? 0 : parseFloat(ColF));
ColATotal = ColATotal + ColA + ColB + ColC + ColD;
ColBTotal = ColE - ColF;
ColCTotal = ColE;
};
var hbIndex = rows.length - 1;
if (hbIndex > 0) {
//本期小计
grid.datagrid('getRows')[hbIndex - 1]["applyDate"] = ColATotal.toFixed(2);
$("td[field|=applyDate] div").eq(hbIndex).text(ColATotal.toFixed(2));
//截至本期期末累计
grid.datagrid('getRows')[hbIndex]["applyDate"] = ColBTotal.toFixed(2);
var Curr = ColCTotal + ColATotal;
$("td[field|=applyDate] div").eq(hbIndex + 1).text(Curr.toFixed(2));
//差额
var diff = ColBTotal + ColATotal;
grid.datagrid('getRows')[0]["amount_difference"] = diff.toFixed(2)
$("td[field|=amount_difference] div").eq(1).text(diff.toFixed(2));
}
});