如何禁用jqgrid中已发布行的内联和表单编辑
How to disable inline and form editing for posted rows in jqgrid
我正在寻找一种方法来禁用编辑isPosted列值为true的jqGrid行。
使用动作格式化程序或在行中双击进行表单和内联编辑。需要禁用所有类型的编辑。我在jqGrid loadcomplete中尝试了下面的代码。
这不会禁用表单编辑。此外,双击已发布行显示保存和取消按钮(所有列都处于只读模式)。
如何禁用已过帐行的所有类型的行编辑?jqGrid是由远程jqson数据填充的。
loadCompete: function () {
var
postedCol = getColumnIndexByName($grid, 'isPosted'),
cRows = $grid[0].rows.length,
iRow,
row,
className,
isPosted,
cm = $grid.jqGrid('getGridParam', 'colModel'),
l,
iActionsCol = getColumnIndexByName($grid, '_actions');
l = cm.length;
for (iRow = 0; iRow < cRows; iRow = iRow + 1) {
row = $grid[0].rows[iRow];
className = row.className;
isPosted = false;
if ($.inArray('jqgrow', className.split(' ')) > 0) {
isPosted = $(row.cells[postedCol]).find(">div>input:checked").length > 0;
if (isPosted) {
if ($.inArray('jqgrid-postedrow', className.split(' ')) === -1) {
// todo: how to disable row editing and inline edit actions buttons.
// why those two lines do not disable
row.className = className + ' jqgrid-postedrow not-editable-row';
$(row.cells[iActionsCol]).attr('editable', '0');
$(row.cells[iActionsCol]).find(">div>div.ui-inline-del").hide();
$(row.cells[iActionsCol]).find(">div>div.ui-inline-edit").hide();
}
}
}
}
css file:
.jqgrid-postedrow
{
background-color: #FFFFD0;
background-image: none;
}
@Andrus,你可以在gridComplete或LoadComplete上查看isPosted的值,如果是真的,只需使用jquery隐藏编辑按钮,你就可以使用开发工具获得这些按钮的id,对吗?
我有一个类似的要求,在某些行中,我必须显示编辑按钮,而在某些行,我必须根据jqgrid中的数据隐藏它们。
因此,我使用开发人员工具获得了这些按钮的id,并在loadComlete中检查了所有行的值并隐藏了按钮。我认为这对你来说也是可行的。谈到onSelectRow或onDblClickRow,请检查isPosted的值,如果它为true,则应该从函数中返回false,否则使用类似的东西进行正常编辑
jQuery("#grid_id").editRow(id,properties);
相关文章:
- 如何正确拖动jqgrid编辑表单
- 编辑不起作用的表单的特定行和重置特定字段
- 在Magento的后端块(选项卡编辑表单)中添加额外的js
- 我如何验证/发布编辑类型为表单编辑中的 jqgrid 选择的列
- 如何在不重新加载的情况下在表单编辑中更改主键后刷新jqgrid行id
- 在最后按钮之前禁止提交表单-避免编辑页面
- 如何禁用jqgrid中已发布行的内联和表单编辑
- 编辑gravityforms表单标记
- 如果AngularJS中有可编辑的表行,那么表单元素放在哪里
- 如何将动态表单保存到数据库/编辑回表单
- 编辑当前表单向导以成功发布数据
- 当表单不为空时,无法使用CasperJS编辑表单
- 我想用所选项目的数据填充我的编辑表单
- 当我以带有编辑和删除按钮的表单提交时,显示所有值
- 单击“使用 ajax 编辑”时将部分替换为表单部分
- 如何在免费的jqgrid中增加表单编辑中的文本区域宽度
- jqGrid表单编辑选择排序
- JQGridSave and Continue表单编辑
- 当单元格在jqgrid表单编辑中可编辑时,设置单元格值
- 更改jqGrid表单编辑文本区域,使其具有字符计数器