Para el seguimiento sugerencia J_ 's, aplicando la siguiente hace el truco :
editoptions: { dataInit: function(element) { $(element).attr("readonly", "readonly"); } }
Escenario # 1:
- campo debe ser visible en la cuadrícula
- campo debe ser visible en forma
- campo debe ser
Solución de sólo lectura:
colModel:[
{name:'providerUserId',index:'providerUserId', width:100,editable:true, editrules:{required:true}, editoptions:{ dataInit: function(element) { jq(element).attr("readonly", "readonly"); } }},
],
El providerUserId es visible en la cuadrícula y visible al editar el formulario. Pero no puedes editar los contenidos.
Escenario # 2:
- campo no debe ser visible en la cuadrícula
- campo debe ser visible en forma
- campo debe ser
de sólo lectura
Solución:
colModel:[
{name:'providerUserId',index:'providerUserId', width:100,editable:true, editrules:{required:true, edithidden:true}, hidden:true, editoptions:{ dataInit: function(element) { jq(element).attr("readonly", "readonly"); } }},
]
Aviso en ambas instancias Estoy usando jq para hacer referencia a jquery, en lugar de los usuales $. En mi HTML Tengo la siguiente secuencia de comandos para modificar la variable utilizada por jQuery:
<script type="text/javascript">
var jq = jQuery.noConflict();
</script>
Hay una manera más fácil que aparece en otra pregunta en StackOverflow: [aquí] (http://stackoverflow.com/questions/1661800/hidden-columns-in -jqgrid) –