Sanchitos
Sanchitos

Reputation: 8591

Set search options for columns in MvcJqGrid

I can't find a way to set search options for a column? It seem they are set by default and there's no way I can change it.

We have this option in Jqgrid:

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

When doing this in MvcJqGrid:

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

I receive a 'bw' as rule op, not 'eq' as I would like to set.

Thanks!

Upvotes: 0

Views: 1552

Answers (2)

Robin van der Knaap
Robin van der Knaap

Reputation: 4120

I've updated MvcJqGrid (nuget package is also updated). As of now you can set a searchoption per column with 'SetSearchOption'. Your example would look something like this:

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

Let me know if this works for you.

Upvotes: 3

Oleg
Oleg

Reputation: 221997

First of all I should mention that I don't use MvcJqGrid myself. It's really important to set different sopt option for different columns especially if one uses toolbar searching. It seems that MvcJqGrid don't provide you enough possibilities to do this. Nevertheless it looks so that MvcJqGrid generate some JavaScript code for you. So if you can't generate exactly the code which you need then you can still change some properties of grid later. For example

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

change the properties of "outputid" column. It is important to make the changes before searching toolbar are created (before method filterToolbar) will be called. If you can't inject your JavaScript code before creating searching toolbar you can recreate it later with modified properties using destroyFilterToolbar method (see the answer and the pull request):

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

Upvotes: 0

Related Questions