正如我在问题标题中提到的,我需要在Shield-ui网格可编辑单元格文本框被破坏后立即触发事件。无法在他们的文档中找到解决方案。任何帮助都会很明显。谢谢。
到目前为止,这是我的代码......
$("#allTransGrid").shieldGrid({
dataSource: {
data: datad,
schema: {
fields: {
mbr_id: {path: "mbr_id", type: String},
lon_id: {path: "lon_id", type: String},
center_name: {path: "center_name", type: String},
grp_name: {path: "grp_name", type: String},
mbr_name: {path: "mbr_name", type: String},
lon_amt: {path: "lon_amt", type: Number},
lon_int_amt: {path: "lon_int_amt", type: Number},
loan_total: {path: "loan_total", type: Number},
ind_inst: {path: "ind_inst", type: Number},
today_pay: {path: "today_pay", type: Number, nullable: false},
lon_id_as: {path: "lon_id_as", type: Number}
}
}
},
sorting: {
multiple: true
},
paging: {
pageSize: 12,
pageLinksCount: 10
},
selection: {
type: "row",
multiple: true,
toggle: false
},
columns: [
{field: "mbr_id", width: "100px", title: "Member ID"},
{field: "lon_id", width: "100px", title: "Loan ID"},
{field: "center_name", title: "Center Name", width: "100px"},
{field: "grp_name", title: "Group Name", width: "70px"},
{field: "mbr_name", title: "Member Name", width: "170px"},
{field: "lon_amt", title: "Loan Amount", width: "100px"},
{field: "lon_int_amt", title: "Interest", width: "100px"},
{field: "loan_total", title: "Total", width: "80px"},
{field: "ind_inst", title: "Installment Amount", width: "120px"},
{field: "today_pay", title: "Today Payment"}
],
events: {
editorCreating: function (e) {
if (e.field == "ind_inst") {
e.options = {enabled: false, max: 1000};
}
if (e.field == "loan_total") {
e.options = {enabled: false, max: 500000};
}
if (e.field == "lon_int_amt") {
e.options = {enabled: false, max: 100000};
}
if (e.field == "lon_amt") {
e.options = {enabled: false, max: 100000};
}
if (e.field == "mbr_name") {
e.options = {enabled: false};
}
if (e.field == "grp_name") {
e.options = {enabled: false};
}
if (e.field == "center_name") {
e.options = {enabled: false};
}
if (e.field == "lon_id") {
e.options = {enabled: false};
}
if (e.field == "mbr_id") {
e.options = {enabled: false};
}
if (e.field == "today_pay") {
e.options = {max: 10000};
}
},
detailCreated: function (e) {
$.ajax({
url: "PaymentCatcherGroupBy",
cache: false,
dataType: 'JSON',
data: {loan_id: e.item.lon_id_as, c_id: center_id},
success: function (data) {
$("<div/>")
.appendTo(e.detailCell)
.shieldGrid({
dataSource: {data: data},
sorting: {
multiple: true
},
paging: {
pageSize: 5
},
columns: [
{field: "installment_num", title: "Week", editable: false},
{field: "installmentAmount", title: "Installment Amount", editable: false},
{field: "paidAmount", title: "Paid Amount", editable: false},
{field: "dueDate", title: "Date Paid", type: Date, editable: false}
], editing: {enabled: false}
});
}, error: function (jqXHR, textStatus, errorThrown) {
alert('error');
}
});
},
command: function (e) {
//selectionChanged doesnt work here....
if (e.commandName == "selectionChanged") {
var toBeSelected = e.toBeSelected;
console.log(toBeSelected);
// e.cancel = true;
}
}
},
editing: {
enabled: true,
event: "doubleclick",
type: "cell"
},
scrolling: true,
height: 600
});
在文本框失去焦点后,我需要触发一个事件:
答案 0 :(得分:3)
在编辑模式下,没有与控件中的任何编辑器关联的销毁事件。 一个选项,取决于您拥有的最终目标是订阅命令事件: http://www.shieldui.com/documentation/grid/javascript/api/events/command 在编辑后应该在保存时触发。 如果这不是一个选项,请提供一些额外的信息,了解您所追求的最终结果。