Pregunta

Espero que describo mi problema lo suficiente .. aquí va:

Tengo una tabla de datos de YUI, obtener un conjunto de registros del lado del servidor a través de JSON, y luego rellena los datos.

Los usuarios pueden hacer clic en los encabezados para ordenar los datos en tres de las 6 columnas, (que están utilizando una función de ordenación para cada columna). La clasificación se realiza del lado del cliente.

Cuando un usuario ordena los datos, tengo que ser capaz de obtener una lista completa de los valores de una de las columnas que se muestran. Necesito todos los datos disponibles, no sólo lo que se presta a la página. Los datos ocultos a través de la paginación deben ser incluidos.

¿Alguna idea? He intentado los métodos handleDataReturnPayload y doBeforeLoadData del DataTable, pero ambos dan los datos no ordenados, originales.

Realmente estoy atascado aquí y tengo un cliente en función de una característica que depende de mí conseguir esta lista ordenada.

Gracias de antemano.

¿Fue útil?

Solución

Satyam, más en los foros YUI respondido a mi pregunta perfectamente .

  

Los datos se almacena en el   De registros. En cualquier momento se puede ir a   mire, y se ordenará de la   se muestra en la pantalla, pero tendrá   todos los datos, si se muestra o no.

     

Método getRecordset () le dará una   referencia a ella y luego se puede recorrer   a través de sus registros.

     

Puede escuchar la columnSortEvent   para ser notificado ha producido una especie.

I justo suscrito al evento columnSortEvent y bucle a través de la matriz devuelta por datatable.getRecordSet (). GetRecords ().

Otros consejos

Me gustaría recomendar la publicación de este a los foros de YUI - http://yuilibrary.com/forum/ - que es un gran lugar para conseguir apoyo en cuestiones DataTable

.

Me topé con esta pregunta en busca de información sobre cómo recuperar información de un conjunto de datos que no fue representada en la tabla de datos. Si coloca los datos ocultos en el origen de datos antes de cualquier campo que desee que se muestre, que se representará en blanco, pero si se coloca después de su último campo que se rindió (como se define por las columnas de objetos), entonces no se render pero aún así ser accesibles a través del registro).

var columns = [
    {key:"Whatchamacallits", children:[
        {key:"name" },
        {key:"price" }
    ]}
];
var ds = new YAHOO.util.DataSource('index.php...');
oDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
oDataSource.responseSchema = {
    fields:["name","price","id"]
};
var dt = new YAHOO.widget.DataTable("dt-id", columns, ds, {});
dt.subscribe("rowClickEvent", dt.onEventSelectRow);
dt.subscribe("rowSelectEvent", function(p){ alert(p.getData('id'); });
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top