jqGrid 4.8.0 - 如何使用 jsonmap 获取单元格类型或单元格值
jqGrid 4.8.0 - How to get cell type or cell value using jsonmap
我正在尝试从 onSelectRow
事件中获取单元格值。
我可以使用:
celValue = $('#jqGrid').jqGrid ('getCell', rowid, 'id');
两个问题:
- 有没有办法通过使用
'jsonmap'
而不是 'name'
来获取它?
- 有没有办法获取单元格的类型? (日期、数字、整数等')
谢谢,
总计
您可以先找到要从中获取数据的列的索引。您可以使用像
这样的代码
var $grid = $("#jqGrid"), colModel = $grid.jqGrid("getGridParam", "colModel"), cm, i,
iCol = -1, l = colModel.length, propName = "jsonmap", propVal = "start_time", val;
for (i = 0; i < l; i++) {
cm = colModel[i];
if (cm[propName] === propVal) {
iCol = i;
break;
}
}
if (iCol >= 0) {
val = $grid.jqGrid("getCell", rowid, iCol);
}
以上代码在属性 propName
("jsonmap"
).带有 属性 的第一列将用作 getCell
的选项。
您可以用同样的方法搜索具有特定 formatter
的列。我建议您使用 colModel
中的列模板。如果你定义 cmTemplate
$.extend(true, $.jgrid, {
cmTemplate: {
dateType: {
sorttype: "date", edittype: "date", formatter: "date",
formatoptions: { srcformat: "U/1000", newformat: "m/d/Y H:i:s" },
searchoptions: { sopt: [ "eq", "ne", "lt", "le", "gt", "ge" ] },
editoptions: { sopt: [ "eq", "ne", "lt", "le", "gt", "ge" ] },
searchrules: { date: true }
}
}
});
之后你可以在colModel
中使用template: "dateType"
属性。通过这种方式,您可以定义许多不同的类型,它们都使用相同的格式化程序。此外,您将拥有真正可读的 colModel
,并且非常容易维护。您可以包含 width
等属性,您可以在 colModel
中 覆盖 。通过这种方式,您可以为某些属性指定更多更好的默认值,但您仍然可以像以前一样保持灵活性。如果我检查您发布的 the demo 的代码,我认为列模板对您非常有用。
我正在尝试从 onSelectRow
事件中获取单元格值。
我可以使用:
celValue = $('#jqGrid').jqGrid ('getCell', rowid, 'id');
两个问题:
- 有没有办法通过使用
'jsonmap'
而不是'name'
来获取它? - 有没有办法获取单元格的类型? (日期、数字、整数等')
谢谢,
总计
您可以先找到要从中获取数据的列的索引。您可以使用像
这样的代码var $grid = $("#jqGrid"), colModel = $grid.jqGrid("getGridParam", "colModel"), cm, i,
iCol = -1, l = colModel.length, propName = "jsonmap", propVal = "start_time", val;
for (i = 0; i < l; i++) {
cm = colModel[i];
if (cm[propName] === propVal) {
iCol = i;
break;
}
}
if (iCol >= 0) {
val = $grid.jqGrid("getCell", rowid, iCol);
}
以上代码在属性 propName
("jsonmap"
).带有 属性 的第一列将用作 getCell
的选项。
您可以用同样的方法搜索具有特定 formatter
的列。我建议您使用 colModel
中的列模板。如果你定义 cmTemplate
$.extend(true, $.jgrid, {
cmTemplate: {
dateType: {
sorttype: "date", edittype: "date", formatter: "date",
formatoptions: { srcformat: "U/1000", newformat: "m/d/Y H:i:s" },
searchoptions: { sopt: [ "eq", "ne", "lt", "le", "gt", "ge" ] },
editoptions: { sopt: [ "eq", "ne", "lt", "le", "gt", "ge" ] },
searchrules: { date: true }
}
}
});
之后你可以在colModel
中使用template: "dateType"
属性。通过这种方式,您可以定义许多不同的类型,它们都使用相同的格式化程序。此外,您将拥有真正可读的 colModel
,并且非常容易维护。您可以包含 width
等属性,您可以在 colModel
中 覆盖 。通过这种方式,您可以为某些属性指定更多更好的默认值,但您仍然可以像以前一样保持灵活性。如果我检查您发布的 the demo 的代码,我认为列模板对您非常有用。