jqGrid: Editable column that always shows a select

14,317

All is possible. I am not sure, that what you want is the best way. In the most cases I recommend to use some standard way, then your live will be easier especially after change to a new version of the control which you use.

Nevertheless you can use custom formatter (see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter) instead of formatter: 'select' to show the contain of a column how you as prefer. For example,

{ name: 'Options', width: 150, align: 'left', editable: true, edittype: 'select',
  editoptions: { 
    value: function() { return buildSelect(); } 
  },
  formatter: function (cellvalue, options, rowObject, action) {
    if (cellvalue === 'Yes') {
      return '<select><option value="1" selected="selected">Yes</option>' +
                     '<option value="0">No</option></select>';
    } else {
      return '<select><option value="1">Yes</option>' +
                    '<option value="0" selected="selected">No</option></select>';
    }
  }
}

can be used to display select with 'Yes' and 'No' values instead of default one current value ('Yes' or 'No'). You can also bind some function for a change handle of such select elements.

Share:
14,317
Nigel
Author by

Nigel

Updated on June 04, 2022

Comments

  • Nigel
    Nigel almost 2 years

    Is there a way in jqgrid to have an editable column that uses a select like in this colModel example:

    { 
    name: 'Options', 
    index: 'Options', 
    width: 150, 
    align: 'left', 
    resizable: false,
    editable: true, 
    edittype: 'select', 
    editoptions: { 
        value: function() { return buildSelect(); } 
    },
    formatter: 'select'
    }
    

    but always shows the select?

    I've got this working before with checkboxes, but there doesn't seem to be a way of doing it with selects. Ideally I'd like this to work in celledit mode. Any ideas?