1

I have a simple jqgrid.

colModel: [ { name: 'CatId', index: 'CatId', width: 30, align: 'left' }, ...

What I want to do is turn a column into a hyperlink like this example I find on google:

formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit'}

However I want to put the CatId as the parameter, eg:

formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=<CatId>'}

I can't seem to find any examples of how to do this, other than possibly just hooking into the loadcomplete event and going through and manually updating every row. Is there a nice way to solve this?

NibblyPig
  • 51,118
  • 72
  • 200
  • 356

1 Answers1

1

The URL used by formatter: "showlink" will be constructed using formatoptions which could be baseLinkUrl, showAction, idName and addParam. The formatter "showlink" uses rowid (the id attribute of <tr> elements of the grid) for constructing the URL. The URL will be built as

baseLinkUrl + showAction + '?' + idName + '=' + rowId + addParam

So the main problem is whether the value of CatId column be used or can be used as the rowid. If you would use key: true option to the definition of CatId column then jqGrid will use the value from CatId as rowid and you could use

formatter: "showlink", formatoptions: { baseLinkUrl: "someurl.php", idName: "action" }

If the value of CatId column can't be used as rowid then I would recommend you to use formatter: "dynamicLink" instead (see jQuery.jqGrid.dynamicLink.js here). I described it in the answer.

Community
  • 1
  • 1
Oleg
  • 220,925
  • 34
  • 403
  • 798