gpt4 book ai didi

javascript - 从列中删除 jqGrid 编辑选项

转载 作者:行者123 更新时间:2023-12-03 08:04:35 25 4
gpt4 key购买 nike

在我的 jqGrid 中,如果列单元格不是空字符串,则 onSelect 函数会在特定列上设置 dataEvent。

只要我编辑特定单元格具有值的行,就不会在列上设置 dataEvent。这是理想的行为。

再次,如果我编辑单元格为空白且 dataEvent 绑定(bind)到该列的行。这又是我们所期望的行为。

但是,一旦执行第二个senerio,即使检查单元格有值,数据事件似乎也会锁定到该列。

我的 onSelect 代码:

function oSelect(id){
var vjobno = "";
vjobno = $("#timesheetlineitemsqueue").getRowData(id)['jobno'];
$("#timesheetlineitemsqueue").setColProp('date', { editoptions: { dataUrl: '/TimeSheetWebApp/TimeSheetControllerServlet?lifecycle=weekdayoptions'}});
$("#timesheetlineitemsqueue").setColProp('deptno', { editoptions: { dataUrl: '/TimeSheetWebApp/TimeSheetControllerServlet?lifecycle=departmentoptions'}});
$("#timesheetlineitemsqueue").setColProp('iphase', { editoptions: { dataUrl: '/TimeSheetWebApp/TimeSheetControllerServlet?lifecycle=phaseoptions'}});
$("#timesheetlineitemsqueue").setColProp('icategory', { editoptions: { dataUrl: '/TimeSheetWebApp/TimeSheetControllerServlet?lifecycle=categoryoptions'}});
if(vjobno == ""){
$("#timesheetlineitemsqueue").setColProp('jobno', { editoptions: {dataEvents: [{ type: 'click', fn: function(e) {resetvalidation(this.name); }},{ type: 'focus', fn: function(e) {resetvalidation(this.name); }},{ type: 'change', fn: function(e) {validatejobnumber(this.value); }},]}});
}
};

最佳答案

重要的是要了解 getGridParam 返回对 jqGrid 使用的内部参数的引用。因此您可以使用例如

var p = $("#timesheetlineitemsqueue").jqGrid("getGridParam");

并使用p.colModel访问colModel。或者您可以使用

var colModel = $("#timesheetlineitemsqueue").jqGrid("getGridParam", "colModel");

获取对 colModel 数组的引用。

要获取名称为 jobno 的列项,可以在 free jqGrid 中使用 iColByName 。然后

var cm = p.colModel[p.iColByName.jobno];

如果你使用旧版本的jqGrid而不是免费的jqGRid,那么你可以在循环中找到jobno的索引(参见the answer中的getColumnIndexByName代码)例如)。

现在您可以设置 cm 项的任何属性,而无需使用 setColProp。以同样的方式,您可以使用delete删除该属性。例如

delete cm.editoptions.dataEvents;

关于javascript - 从列中删除 jqGrid 编辑选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com