2012-03-20 17 views

Respuesta

9

En la versión más reciente que podría hacer esto:

grid.setSortColumn("myColId",true); //columnId, ascending 

También puede configurar múltiples con setSortColumn * s *

+0

Dado que estoy usando DataView, no creo que este método funcione. Terminé desencadenando 'dataView.sort (comparer, false)' después de configurar 'sortcol = 'myColName''. (¿Debo agregar y aceptar mi propia respuesta?) – podcastfan88

+0

Estoy bastante equivocado allí. Lo intenté con 'dataView.setSortColumn', que no funcionó. Pero usarlo en mi instancia de grid funcionó. Como lo hizo mi solución anterior. – podcastfan88

+0

@stuart Probé esto, pero todo lo que hace es mostrar esa columna de ordenación como se hace clic. No activa un orden en mi dataView, que está suscrito al evento onSort. ¿Cómo puedo activar esto? –

1

Ver mi solución aquí. Esto aplica ordenar en una columna inicialmente sin usar Dataview.

Calling sort on slickgrid

creo que hace lo que quiere.

Por cierto, ya que está utilizando Dataview. También puedes probar esto. Pero no he intentado esto personalmente. a continuación, una vez que la rejilla se cargó simular un clic

dataview.reSort() 
0

que tenían una idea interesante que funcionó, y eso fue sólo permitirá la cabecera de varias columnas de clasificación (ejemplo- varias columnas-sort.html) y () en la fila del encabezado que quería que se ordenara cuando apareció la cuadrícula ("tiempo" es el nombre de mi columna que estaba ordenando). La Identificación de los títulos de las columnas se calcula similar a la de identificación para el div raíz de la rejilla (al menos por ahora: 0)):

 var gridId = $('#myGrid').attr("class"); 
     gridId = '#'+gridId.replace(" ui-widget","")+'time'; 
     $(gridId).click(); 

continuación, el usuario puede hacer clic en cualquier otros encabezados de columna que quieran, pero yo simplemente hizo clic en el primero para ellos.

Cuestiones relacionadas