📅  最后修改于: 2023-12-03 15:16:53.181000             🧑  作者: Mango
endCellEdit()
方法是 jQWidgets 提供的一个方法,用于结束 jqxDataTable 组件中单元格的编辑状态并保存编辑后的数据。
endCellEdit(rowid, datafield, cancel)
rowid
:必须,要结束编辑的单元格所在的行的 ID。datafield
:必须,要结束编辑的单元格所对应的字段名。cancel
:可选,一个布尔值,用于指定是否取消编辑。该方法没有返回值。
假设我们有以下的 jqxDataTable 组件:
$("#dataTable").jqxDataTable({
columns: [
{ text: "姓名", dataField: "name", width: 200 },
{ text: "年龄", dataField: "age", width: 100 },
{ text: "性别", dataField: "gender", width: 100 }
],
source: {
dataType: "json",
dataFields: [
{ name: "name", type: "string" },
{ name: "age", type: "number" },
{ name: "gender", type: "string" }
],
url: "data.json"
}
});
我们希望在用户编辑单元格后能够自动保存,可以使用 endCellEdit()
方法:
$("#dataTable").on("cellendedit", function (event) {
var args = event.args;
var rowid = args.row.index;
var datafield = args.datafield;
$("#dataTable").jqxDataTable("endCellEdit", rowid, datafield);
});
当用户编辑一个单元格后,该单元格即可自动保存变更。
如果希望取消编辑,可以设置 cancel
参数为 true
:
$("#dataTable").on("cellendedit", function (event) {
var args = event.args;
var rowid = args.row.index;
var datafield = args.datafield;
if (args.newvalue == "cancel") { // 如果新值为 "cancel" 则取消编辑
$("#dataTable").jqxDataTable("endCellEdit", rowid, datafield, true);
} else {
$("#dataTable").jqxDataTable("endCellEdit", rowid, datafield);
}
});
这样,当用户将某个单元格的新值设为 "cancel" 时,该单元格的编辑会被取消。