2011-10-11 43 views
5

Cuando hago clic en cualquier fila de mi cuadrícula, todas las columnas editables se pueden editar.Cómo deshabilitar la edición de algunas celdas en la edición de filas de JQGrid?

Quiero que algunas columnas sean editables en cada fila por separado.

    Column 1, Column 2,  Column 3    
ROW Number 1 - editable,  non-editable, non-editable 
ROW Number 2 - non-editable, editable,  non-editable  
ROW Number 3 - editable,  non-editable, non-editable 

Gracias de antemano

Respuesta

11

Si utiliza inline editing mode y desea que decidir dinámicamente que las células de la fila serán editables, por ejemplo, en base a la contienes de las células se puede hacer esto en la forma en la cual Describí here. Usted puede hacer esto con otro método también:

$(this).jqGrid('setColProp', 'YouColumnName', {editable:false}); 

por lo que debería acaba de establecer editable-false o true antes llamado de editRow método. En la forma en que puede implementar cualquier lógica que desee.

ACTUALIZACIÓN:Free jqGrid permite definir editable como función de devolución de llamada. Ver the wiki article. Permite hacer que la columna se pueda editar en algunas filas y mantener no editable para otras filas.

+0

Ok, por lo que puedo comprobar el valor de una celda en una fila. Y luego hazlo editable: falso. Entonces se convierte en no editable para la fila seleccionada derecha ..? –

+0

@stacktrace: el método 'editRow' prueba qué columnas son editables ** en este momento **. Crea los controles '' o '