用于jqGrid搜索的任意索引(列名)
Arbitrary index (column name) for jqGrid search
我有一个jqGrid
列定义如下
name : 'idmycolumn',
index : 'idmycolumn',
width : 80,
align : 'right',
search : true,
id名称(ìdmycolumn
)对于我的SQL更新操作是好的,但对于搜索则不是。我如何改变搜索操作的名称(是另一个id,让我们说idmysearch
)?
所以基本上我需要一个不同的SQL列更新,因为我需要搜索。有机会吗?
对下面奥列格问题的进一步澄清
- 如何在网格中填充行? 第一列的整数值
- idmycolumn是行吗?你在列中使用
key: true
吗?不,不行 - 您使用哪种编辑模式?您使用哪种搜索(工具栏搜索,搜索对话框,两者)?内联编辑,工具栏搜索
- 在
idmycolumn
列排序期间需要使用哪个名称?用于搜索和排序的列名是否应该相同?搜索应该是"idmysearch",任何其他(sort,…)"idmycolumn" - 是否使用
loadonce: true
选项?loadonce: default/false
澄清第二部分:
因为我没有设置stringResult = true
某处(我刚刚检查),默认是false
。无论如何,这个参数是一个很好的提示,谢谢。
但是,我也在服务器端对过滤器进行解析,这就是我目前用idmysearch
替换idmycolumn
的地方。我只是想知道我是否可以在将过滤器发送到服务器之前在客户端预先替换该过滤器名称。
解决方案很大程度上取决于您使用的方法。jqGrid提供了许多选项,可用于更改方法的行为或参数的格式,例如将这些参数发送到服务器。此外,有许多回调和事件允许您在发送到服务器之前修改参数。重要的是要了解搜索参数将保存在postData
选项中。所有的选项都在一个对象内,你可以通过使用$("#gridid").jqGrid("getGridParam")
来获得,或者你可以通过使用$("#gridid").jqGrid("getGridParam", "postData")
来获得特定的选项,例如postData
选项。返回值 jqGrid使用的内部对象的引用。因此,您可以修改它,jqGrid将使用自动修改的值。在这种情况下,不需要使用像setGridParam
这样的方法。
因此,您的问题的解决方案可能如下。在filterToolbar
方法中添加beforeSearch
回调,将postData
的idmycolumn
属性从idmycolumn
修改为idmysearch
:
$("#gridid").jqGrid("filterToolbar", {
beforeSearch: function () {
var postData = $(this).jqGrid("getGridParam", "postData");
if (postData.hasOwnProperty("idmycolumn")) {
postData.idmysearch = postData.idmycolumn;
delete postData.idmycolumn;
}
}
});
- 名称输入的索引
- 在jQuery中获取表的行索引
- 测试索引值是否等于某个数字的倍数
- 循环遍历数组中的特定索引
- 按照选项卡索引的顺序循环一个jQuery选择
- 在JavaScript中通过索引从对象数组中获取值
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- 在索引.html和应用.js [node.js] 之间共享变量
- 如何为高图中的区域线创建z索引
- 下拉列表在使用z索引放置在前面后停止工作
- 减去两个索引不同但值相同的整数
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- Javascript:根据对象的嵌套数组中的值,在数组中查找对象的索引
- 用javascript查询lucene索引
- 使用它更新集合中的嵌套数组's索引
- 如何将ng选项的索引作为angularJs中的值传递给模型
- 使用Javascript从Kendo网格中的列名获取列索引
- 获取列名称/索引上的KeyPress/KeyDown在jqGrid
- 用于jqGrid搜索的任意索引(列名)
- 单击标题时如何获取列名/索引