gpt4 book ai didi

javascript - jqGrid搜索的任意索引(列名)

转载 作者:行者123 更新时间:2023-12-03 09:01:02 31 4
gpt4 key购买 nike

我有一个jqGrid列定义如下

        name : 'idmycolumn',
index : 'idmycolumn',
width : 80,
align : 'right',
search : true,

id 名称 (ìdmycolumn) 适合我的 SQL 更新操作,但不适用于搜索。如何更改搜索操作的名称(更改为另一个 id,例如 idmysearch)?

所以基本上我需要一个不同的 SQL 列来更新,因为我需要搜索。有机会这样做吗?

<小时/>

对下面奥列格问题的进一步说明

  • 如何在网格中填充 rowid?第一列的整数值
  • idmycolumn 是 rowid 吗?您是否在该列中使用 key: true ?不,不是 rowid
  • 您使用哪种编辑模式?您使用哪种搜索(工具栏搜索、搜索对话框、两者)?内联编辑、工具栏搜索
  • idmycolumn 列排序时需要使用哪个名称?搜索和排序的列名应该相同吗?搜索应该是“idmysearch”,其他任何内容(排序,..)“idmycolumn”
  • 您是否使用loadonce: true选项? loadonce:默认/false

澄清第二部分:

由于我没有在某处设置stringResult = true(我刚刚检查过),default。无论如何,该参数是一个很好的提示,谢谢。

但是,我还在服务器端解析过滤器,这是我目前用 idmysearch 替换 idmycolumn 的地方。我只是想知道在将过滤器发送到服务器之前是否可以在客户端预先替换该过滤器名称。

最佳答案

解决方案很大程度上取决于您使用的方法。 jqGrid 提供了许多选项,可用于更改方法的行为或将发送到服务器的参数格式。此外,还有许多回调和事件允许您在发送到服务器之前修改参数。重要的是要了解搜索参数将保存在 postData 内。选项。所有选项都位于一个对象内,您可以通过使用 $("#gridid").jqGrid("getGridParam") 来获取该对象,或者您可以获得特定选项,例如 postData使用$("#gridid").jqGrid("getGridParam", "postData")选项。返回值是jqGrid使用的内部对象的引用。所以你可以修改它,jqGrid将使用自动修改的值。 setGridParam 等方法的使用本例中不需要。

因此您的问题的解决方案可能如下。您添加beforeSearch回调至filterToolbar方法,它修改 idmycolumn postData的属性(property)来自idmycolumnidmysearch :

$("#gridid").jqGrid("filterToolbar", {
beforeSearch: function () {
var postData = $(this).jqGrid("getGridParam", "postData");
if (postData.hasOwnProperty("idmycolumn")) {
postData.idmysearch = postData.idmycolumn;
delete postData.idmycolumn;
}
}
});

关于javascript - jqGrid搜索的任意索引(列名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32301407/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com