2010-04-20 21 views

Respuesta

1

Utilice un formateador personalizado en cualquier celda de la cuadrícula. Para obtener más información al respecto, consulte http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter

Así es como lo hice. Quería que la primera columna en mi grilla apareciera como si fuera un enlace clicable (pero realmente desencadena un evento jqgrid personalizado, onCellSelect).

de fragmentos de mi objeto de la cuadrícula:

colModel :[ 
{name:'ticket', index:'IMINDT', width:125, formatter: pointercursor}, 

pointercursor es un nombre de función. El código para ello se define así: Clase

// Custom formatter for a cell in a jqgrid row. 
function pointercursor(cellvalue, options, rowObject) 
{ 
var new_formatted_cellvalue = '<span class="pointer">' + cellvalue + '</span>'; 
return new_formatted_cellvalue; 
} 

Mi CSS de "puntero" es:

.pointer { 
cursor: pointer; 
text-decoration: underline; 
}  

eso es todo!

+3

No soy un gran fan de la adición de un lapso ya que en realidad modifica el comportamiento de onCellSelect . Si hace clic en el contenido 'span', NO activará el evento onCellSelect. Consulte la respuesta de Woggles como posible solución alternativa. – Mike

16

Esto se puede hacer más fácilmente utilizando las clases colModel propiedad de la siguiente manera:

{ name: 'Email', index: 'Email', classes: 'pointer' } 

Desde el wiki:

Esta opción permite añadir clases a la columna. Si se usará más de una clase, se debe establecer un espacio. Por clases de ejemplo: 'class1 class2' establecerá una clase1 y una clase2 en cada celda de esa columna. En la cuadrícula css hay una elipsis ui de clase predefinida que permite unir puntos suspensivos a una fila en particular. También esto funcionará en Firefox también.

5

Acabo de añadir esto en mi archivo css

#mygrid .jqgrow{ 
    cursor:pointer; 
} 
+0

Gracias, esta solución agrega el puntero para todas las columnas. –

1

en el archivo css poner esto:

.ui-jqgrid .ui-jqgrid-btable { cursor : pointer; } 
Cuestiones relacionadas