📜  jQWidgets jqxDataTable endCellEdit() 方法(1)

📅  最后修改于: 2023-12-03 15:16:53.181000             🧑  作者: Mango

jQWidgets jqxDataTable endCellEdit() 方法

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" 时,该单元格的编辑会被取消。