如何搜索一行,然后在jqGrid中选择它?
我有一个场景,我必须以编程方式在jqGrid中选择一行。
从函数我将得到一个列的值,该列在jqGrid中可用,并且基于传入列的值,我必须在jqGrid中搜索,当它找到记录匹配时,我必须选择该行。
不知道如何使用jQuery为我的jqGrid实现这一目标。
更新:
您提到的解决方案搜索第3列(不区分大小写)。 我想知道有没有办法使用regext搜索网格中的任何列(包括隐藏的列),即不区分大小写的搜索?
问题接近我最近回答的另一个问题。 区别在于您要搜索选定的列。 对于区分大小写的搜索,您可以使用以下代码
var index = 3; var str = 'b'; $("#list > tbody > tr > td:nth-child("+index+"):contains('" + str + "')").parent();
对于不区分大小写的搜索,代码可能看起来像
var index = 3; var str = 'b'; var cells = $("#list > tbody > tr > td:nth-child(3)").filter(function() { return re.test( $(this).text()); }); var rows = cells.parent();
重要的是要考虑到jqGrid有时在colModel
声明的列之前有其他列。 这是’rn’列包含行号。 如果你使用rownumbers: true
它存在rownumbers: true
选项。 在你使用选项multiselect: true
也有’cb’列与复选框。 您可以使用$('#list').jqGrid('hideCol', 'cb');
隐藏列$('#list').jqGrid('hideCol', 'cb');
,但你也应该在那里计算。 通常,您应该计算所有隐藏的列。
您可以在以下小型演示中看到所有内容。