在MvcJqGrid中设置列的搜索选项

时间:2013-05-04 03:54:32

标签: jqgrid mvcjqgrid

我找不到为列设置搜索选项的方法?它似乎是默认设置的,我无法改变它。

我们在Jqgrid中有这个选项:

{ name: "outputid", index: "outputid", width: 30, searchoptions: { sopt: ['eq']} }

在MvcJqGrid中执行此操作时:

.AddColumn(new Column("promoDate").SetAlign(MvcJqGrid.Enums.Align.Center).SetLabel("Fecha Ingreso").SetSearchType(Searchtype.Datepicker).SetSearchDateFormat("yy-mm-dd"))

我收到一个'bw'作为规则op,而不是我想设置的'eq'。

谢谢!

2 个答案:

答案 0 :(得分:3)

我已更新MvcJqGrid(nuget包也已更新)。截至目前,您可以使用“SetSearchOption”为每列设置searchoption。你的例子看起来像这样:

.AddColumn(new Column("promoDate")
  .SetAlign(MvcJqGrid.Enums.Align.Center)
  .SetLabel("Fecha Ingreso")
  .SetSearchType(Searchtype.Datepicker)
  .SetSearchDateFormat("yy-mm-dd")
  .SetSearchOption(SearchOptions.Equal))

请告诉我这是否适合您。

答案 1 :(得分:0)

首先我应该提一下,我自己不使用MvcJqGrid。为不同的列设置不同的sopt选项非常重要,尤其是在使用工具栏搜索时。似乎MvcJqGrid没有为你提供足够的可能性。不过看起来MvcJqGrid会为你生成一些JavaScript代码。因此,如果您无法准确生成所需的代码,那么您以后仍然可以更改网格的某些属性。例如

$("#grid").jqGrid("setColProp", "outputid", { searchoptions: { sopt: ['eq']} });

更改"outputid"列的属性。在搜索工具栏之前进行更改非常重要(在方法filterToolbar之前)将被调用。如果在创建搜索工具栏之前无法注入JavaScript代码,则可以稍后使用destroyFilterToolbar方法使用修改后的属性重新创建它(请参阅the answerthe pull request):

$("#grid").jqGrid("destroyFilterToolbar");
$("#grid").jqGrid("filterToolbar", { stringResult: true, defaultSearch: "cn" });