jqgrid colModel[i] 数组内容是啥
时间: 2023-06-24 18:04:44 浏览: 92
jqGrid中的colModel[i]数组是用于定义表格的列模型,包含列的属性和配置信息,例如列的名称、数据类型、宽度、对齐方式、搜索选项等。每个元素表示一列,可以设置的属性包括name、index、width、align、sortable、search、stype、edittype等。这个数组的内容是表格中所有列的配置信息,用于定义表格的列模型以及每列的数据类型、显示格式等。
相关问题
jqgrid插件的双击表头箭头展开该列内容的代码
你可以使用jqGrid的事件和方法来实现双击表头箭头展开该列内容的功能。以下是一个简单的示例代码:
```javascript
// 初始化jqGrid
$("#grid").jqGrid({
url: "data.json",
datatype: "json",
colNames:['ID','姓名','年龄','性别'],
colModel:[
{name:'id',index:'id', width:60},
{name:'name',index:'name', width:100},
{name:'age',index:'age', width:80},
{name:'gender',index:'gender', width:80}
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager',
sortname: 'id',
viewrecords: true,
sortorder: "asc",
caption:"双击表头箭头展开该列内容"
});
// 双击表头事件
$(".ui-jqgrid-labels").on("dblclick", "th", function () {
var colIndex = $(this).index(); // 获取列的索引
var colModel = $("#grid").jqGrid('getGridParam', 'colModel'); // 获取列模型
var colName = colModel[colIndex].name; // 获取列的名称
var rowData = $("#grid").jqGrid('getRowData'); // 获取所有行的数据
var rowDataArr = []; // 存储该列所有行的数据
// 遍历所有行的数据,并将该列的数据存储到数组中
for (var i = 0; i < rowData.length; i++) {
rowDataArr.push(rowData[i][colName]);
}
// 将该列的数据渲染到页面上
$(this).find(".ui-jqgrid-sortable").after("<div class='col-data'>" + rowDataArr.join("<br>") + "</div>");
});
// 点击其他位置收起列数据
$(document).on("click", function (e) {
var target = e.target;
if (!$(target).hasClass("ui-jqgrid-labels") && !$(target).hasClass("col-data")) {
$(".col-data").remove();
}
});
```
在上面的代码中,我们首先初始化了一个jqGrid,并在双击表头事件中获取了该列的数据并将其渲染到页面上。然后,我们通过点击其他位置来收起该列的数据。你可以根据自己的需求来修改代码。
jqgrid下拉框怎么配置
在 jqGrid 中配置下拉框可以使用 `editoptions` 属性,该属性用于设置编辑操作的选项。具体的配置方式如下:
1. 定义下拉框数据源
```javascript
var mydata = [
{ id: "1", name: "John", city: "New York" },
{ id: "2", name: "Bob", city: "Los Angeles" },
{ id: "3", name: "Mike", city: "Chicago" },
{ id: "4", name: "Tom", city: "Houston" },
{ id: "5", name: "Jerry", city: "Miami" }
];
```
2. 配置列模型
```javascript
colModel: [
{ name: 'id', index: 'id', width: 60, editable: true },
{ name: 'name', index: 'name', width: 90, editable: true },
{ name: 'city', index: 'city', width: 100, editable: true, edittype: "select",
editoptions: { value: "New York:New York;Los Angeles:Los Angeles;Chicago:Chicago;Houston:Houston;Miami:Miami" } }
]
```
在上面的代码中,我们在第三列中配置了下拉框。`edittype` 属性设置为 `select` 表示使用下拉框进行编辑,`editoptions` 属性中的 `value` 值定义了下拉框的选项列表。
如果下拉框的选项比较多,可以将选项列表存储在一个数组中,并通过 JavaScript 动态生成选项列表。例如:
```javascript
var cities = [
{ id: "NY", name: "New York" },
{ id: "LA", name: "Los Angeles" },
{ id: "CH", name: "Chicago" },
{ id: "HO", name: "Houston" },
{ id: "MI", name: "Miami" }
];
var cityOptions = "";
for (var i = 0; i < cities.length; i++) {
cityOptions += cities[i].id + ":" + cities[i].name + ";";
}
colModel: [
{ name: 'id', index: 'id', width: 60, editable: true },
{ name: 'name', index: 'name', width: 90, editable: true },
{ name: 'city', index: 'city', width: 100, editable: true, edittype: "select",
editoptions: { value: cityOptions } }
]
```
这样就可以通过 `cities` 数组动态生成下拉框选项了。
阅读全文