jqgrid 单元格显示按钮开关
时间: 2024-02-15 19:06:27 浏览: 85
按钮开关
可以通过自定义 formatter 函数来实现在 jqGrid 的单元格中显示按钮开关。具体步骤如下:
1. 在 colModel 中定义需要显示开关的列,设置其 formatter 为自定义的函数名,如:
```
{ name: 'is_active', index: 'is_active', width: 70, align: 'center', formatter: switchFormatter }
```
2. 编写自定义的 formatter 函数 switchFormatter,该函数接收四个参数:cellvalue、options、rowObject、action。其中 cellvalue 表示当前单元格的值,options 表示该列的配置选项,rowObject 表示当前行的数据对象,action 表示当前操作的类型。在 switchFormatter 函数中,可以根据参数 cellvalue 来判断当前单元格应该显示开还是关,然后返回对应的 HTML 代码来实现按钮开关的显示。例如:
```
function switchFormatter(cellvalue, options, rowObject, action) {
var checked = cellvalue == '1' ? 'checked' : '';
return '<label class="switch"><input type="checkbox" ' + checked + '><span class="slider"></span></label>';
}
```
3. 在 HTML 中引入必要的 CSS 和 JS 文件,如:
```
<link rel="stylesheet" href="/path/to/jquery-ui.css">
<link rel="stylesheet" href="/path/to/jquery.jqGrid.css">
<link rel="stylesheet" href="/path/to/switch.css">
<script src="/path/to/jquery.js"></script>
<script src="/path/to/jquery-ui.js"></script>
<script src="/path/to/jquery.jqGrid.js"></script>
<script src="/path/to/switch.js"></script>
```
其中 switch.css 和 switch.js 是用于实现按钮开关样式的 CSS 和 JS 文件,可以从网上下载并引入。
4. 初始化 jqGrid,如:
```
$('#grid').jqGrid({
url: '/path/to/data.json',
datatype: 'json',
colModel: [
{ name: 'id', index: 'id', width: 50, align: 'center' },
{ name: 'name', index: 'name', width: 150 },
{ name: 'is_active', index: 'is_active', width: 70, align: 'center', formatter: switchFormatter }
],
...
});
```
通过以上步骤,即可实现在 jqGrid 的单元格中显示按钮开关。
阅读全文