$('#manage_price_datagrid').datagrid('appendRow',{id:Date.now(),isTag:1})append后append的行不能被选中 onAdd 不生效,api没有onAdd 方法
时间: 2023-12-22 11:03:53 浏览: 125
抱歉,我的回答有误。`datagrid` 没有 `onAdd` 事件。可以使用 `onLoadSuccess` 和 `onBeforeSelect` 事件来实现需求。
代码示例:
```javascript
$('#manage_price_datagrid').datagrid({
// ...
onLoadSuccess: function(data) {
var rows = data.rows;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (row.isTag === 1) {
// 设置行不可选中
$('#manage_price_datagrid').datagrid('getRowByIndex', i).selectable = false;
}
}
},
onBeforeSelect: function(index, row) {
if (row.isTag === 1) {
return false; // 不允许选择该行
}
}
});
```
其中 `isTag` 是你新增行的某一列的名称,`1` 是你新增行中该列的值,你需要根据实际情况进行修改。
相关问题
$('#manage_price_datagrid').datagrid('appendRow',{id:Date.now(),isTag:1})append后append的行不能被选中
可以在 `onAdd` 事件中遍历每一行数据,根据需要设置 `selectable` 属性来控制行是否可选中。示例代码如下:
```javascript
$('#manage_price_datagrid').datagrid({
// ...
onAdd: function(index, row) {
if (row.isTag === 1) {
// 设置行不可选中
$('#manage_price_datagrid').datagrid('getRowByIndex', index).selectable = false;
}
}
});
```
其中 `isTag` 是你新增行的某一列的名称,`1` 是你新增行中该列的值,你需要根据实际情况进行修改。
var price_rows = $('#manage_price_datagrid').datagrid('getRows'); price_rows.forEach(function(price_row) { if(price_row.isTag != null){ $('#manage_price_datagrid').datagrid('deleteRow', $('#manage_price_datagrid').datagrid('getRowIndex',price_row)); } });为什么只删除了第一天
根据你提供的代码,无法确定为什么只删除了第一行。不过,这段代码的功能是从名为 "manage_price_datagrid" 的 DataGrid 中删除具有 "isTag" 属性的行。如果只删除了第一行,可能有以下原因:
1. 只有第一行具有 "isTag" 属性,其他行没有该属性。
2. 在删除第一行后,DataGrid 的行数发生了变化,导致后面的行无法正确获取索引。
你可以通过使用控制台输出调试语句来检查这些变量和操作,以更好地理解代码的执行过程和问题所在。
阅读全文
相关推荐















