jqgrid 设置 id
时间: 2024-01-29 19:03:09 浏览: 113
可以通过在 `colModel` 中设置 `key: true` 来设置 jqGrid 的主键 ID。例如:
```javascript
$("#grid").jqGrid({
url: "data.json",
datatype: "json",
colModel: [
{ name: "id", key: true }, // 设置 id 为主键
{ name: "name" },
{ name: "age" }
],
// ... 其他配置项
});
```
这样,`id` 字段就会被作为主键 ID,用于在编辑、删除等操作中进行标识。注意,如果数据源中没有 `id` 字段,则需要在服务器端生成并返回一个唯一的 ID,或者使用其他字段作为主键。
相关问题
jqgrid 设置 id 映射
如果你的 jqGrid 中的 ID 不是数据源中的原始 ID,而是需要进行映射,可以通过设置 `jsonReader` 的 `id` 属性来实现。例如:
```javascript
$("#grid").jqGrid({
url: "data.json",
datatype: "json",
colModel: [
{ name: "original_id", hidden: true }, // 隐藏原始 ID 字段
{ name: "name" },
{ name: "age" }
],
jsonReader: {
id: "mapped_id" // 将 mapped_id 字段作为 jqGrid 的 ID
},
// ... 其他配置项
});
```
在这个例子中,我们将数据源中的 `original_id` 字段隐藏起来,而将 `mapped_id` 字段作为 jqGrid 的 ID。这样,在编辑、删除等操作中,就会使用 `mapped_id` 来进行标识。
需要注意的是,`jsonReader` 中的 `id` 属性只有在 `loadonce` 属性为 `true` 时才会生效。如果 `loadonce` 属性为 `false`,则 jqGrid 会根据数据源中的原始 ID 来进行标识。
设置 jqgrid 设置行号
可以通过以下方式设置 jqGrid 行号:
1. 在 colModel 中添加一列用于显示行号。
```
colModel: [
{ name: "id", label: "ID", width: 50 },
{ name: "name", label: "Name", width: 150 },
{ name: "age", label: "Age", width: 50 },
{ name: "address", label: "Address", width: 200 },
{ name: "rn", label: "No.", width: 50, sortable: false, formatter: "rownum" }
],
```
2. 在 loadComplete 事件中重新设置行号。
```
loadComplete: function() {
var table = this;
setTimeout(function() {
updatePagerIcons(table);
setGridHeight();
table.trigger("reloadGrid");
}, 0);
}
```
3. 在 CSS 文件中添加样式。
```
.ui-jqgrid tr.jqgrow td[aria-describedby='grid_rn'] {
text-align: center;
}
```
注意:以上代码中的 grid 是表格的 ID,可以根据实际情况进行修改。
阅读全文