easyui的datagrid的行在appendRow后根据其他列的值设置可选中和不可选择
时间: 2024-03-09 22:47:33 浏览: 24
可以在 `onLoadSuccess` 事件中遍历每一行数据,根据需要设置 `selectable` 属性来控制行是否可选中。示例代码如下:
```javascript
$('#datagrid').datagrid({
// ...
onLoadSuccess: function(data) {
var rows = data.rows;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (row.someColumn === 'someValue') {
// 设置行不可选中
$('#datagrid').datagrid('getRowByIndex', i).selectable = false;
}
}
}
});
```
其中 `someColumn` 和 `someValue` 分别代表其他列的名称和对应的值,你需要根据实际情况进行修改。
相关问题
easyui的datagrid的行在调用appendRow方法后根据其他列的值设置可选中和不可选择
可以在 `onLoadSuccess` 和 `onAdd` 事件中遍历每一行数据,根据需要设置 `selectable` 属性来控制行是否可选中。示例代码如下:
```javascript
$('#datagrid').datagrid({
// ...
onLoadSuccess: function(data) {
var rows = data.rows;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (row.someColumn === 'someValue') {
// 设置行不可选中
$('#datagrid').datagrid('getRowByIndex', i).selectable = false;
}
}
},
onAdd: function(index, row) {
if (row.someColumn === 'someValue') {
// 设置行不可选中
$('#datagrid').datagrid('getRowByIndex', index).selectable = false;
}
}
});
```
其中 `someColumn` 和 `someValue` 分别代表其他列的名称和对应的值,你需要根据实际情况进行修改。
easyui的datagrid的行根据其他列的值设置可选中和不可选择
可以通过EasyUI的DataGrid组件的onLoadSuccess事件和formatter属性来实现根据其他列的值设置行是否可选中。
具体实现方法如下:
1. 在DataGrid组件中设置onLoadSuccess事件和formatter属性,例如:
```javascript
$('#datagrid').datagrid({
url: 'data.json',
onLoadSuccess: function(data) {
// 根据其他列的值设置行是否可选中
var rows = $('#datagrid').datagrid('getRows');
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (row.status == 'disabled') {
$('#datagrid').datagrid('unselectRow', i);
}
}
},
columns: [[
{field: 'id', title: 'ID', width: 50},
{field: 'name', title: 'Name', width: 100},
{field: 'status', title: 'Status', width: 100, formatter: function(value, row, index) {
if (value == 'disabled') {
return '<span style="color:red;">Disabled</span>';
} else {
return 'Enabled';
}
}}
]]
});
```
2. 在onLoadSuccess事件中,遍历所有行,如果该行的status列的值为disabled,则使用datagrid的unselectRow方法将该行设置为不可选中。
在上面的例子中,我们使用了一个名为data.json的json文件来模拟数据。在实际项目中,你需要将url属性设置为你的后台接口地址,返回的数据格式需要符合EasyUI的DataGrid要求。
另外,我们使用了formatter属性来将status列的值进行格式化,将disabled的值设置为红色字体,方便用户区分。