2013-07-23 152 views
1

我想根据全局JavaScript变量的值在我的网格上禁用1行。例如,假设这个变量的值是123.那么任何在一个名为“XYZ”的列中有123的行都应该被禁用。在jQGrid中禁用行

哪里可以实现此功能的最佳方式?内部loadcomplete或beforeselectrow?

感谢

回答

2

内联编辑模式,最好的办法是增加not-editable-row类行。您可以使用rowattr根据某列的内容添加该类。有关详细信息,请参见the answer

如果您使用表单编辑,您必须选择另一种方式。如果您使用navGrid,则可以根据所选行的列中的值禁用某些编辑或隐藏按钮。有关更多详细信息,请参阅the answerthis onebeforeSelectRow是这种变化的好地方。

+0

感谢oleg。我能够在loadcomplete内部完成它。 – AbtPst

+0

@ user2334092:不客气!从性能的角度来看,'rowattr'的使用真的是最好的方式,因为如果你使用'gridview:true'(你应该总是使用它),完整的网格体将作为*一个操作*放在页面上。如果您更改'loadComplete'内部的网格体,它将始终缓慢工作,因为页面上一个元素的更改会跟随* reflow(https://developers.google.com/speed/articles/reflow)页面上的现有元素*。有关更多详细信息,请参见[答案](http://stackoverflow.com/a/12519858/315935)。 – Oleg