Frage

Ich hoffe, ich beschreibe mein Problem genug .. hier geht:

ich eine YUI Datentabelle haben, eine serverseitige Reihe von Datensätzen über JSON erhalten, und füllt dann die Daten.

Die Benutzer können auf die Header, um die Daten in drei der sechs Spalten zu sortieren, (die für jede Spalte eine benutzerdefinierte Sortierfunktion verwenden). Die Sortierung erfolgt clientseitige.

Wenn ein Benutzer die Daten sortiert, muss ich der Lage sein, eine vollständige Liste der Werte bekommen von einer der Spalten dargestellt werden. Ich brauche alle Daten zur Verfügung, nicht nur, was auf der Seite gerendert wird. Die Daten über die Paginierung versteckt enthalten sein müssen.

Irgendwelche Ideen? Ich habe die handleDataReturnPayload und doBeforeLoadData Methoden des Datatable versucht, aber beide geben die ursprünglichen, unsortierten Daten.

Ich bin wirklich hier stecken und ich habe einen Client bekam auf ein Feature abhängig, der auf mich immer diese sortierte Liste abhängig ist.

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Satyam, über an den YUI Foren meine Frage beantwortet perfekt .

  

Die Daten werden tatsächlich in dem gespeicherte   RecordSet. Zu jeder Zeit können Sie gehen und   Blick auf sie, und sie werden sortiert als   gezeigt auf dem Bildschirm, aber es wird   alle Daten, ob angezeigt oder nicht.

     

Methode getRecordset () gibt Ihnen ein   Verweis auf sie und dann können Sie Schleife   durch seine Aufzeichnungen.

     

Sie können auf die columnSortEvent hören   benachrichtigt werden eine Art aufgetreten ist.

ich nur auf das Ereignis columnSortEvent gezeichnet und durchgeschleift Array zurückgegeben von datatable.getRecordSet (). GetRecords ().

Andere Tipps

Ich würde empfehlen, diese auf die YUI-Foren veröffentlichen - http://yuilibrary.com/forum/ - das ist ein großartiger Ort, um Unterstützung für Datatable Probleme zu bekommen

.

ich auf diese Frage gestolpert der Suche nach Informationen darüber, wie Informationen aus einem Datensatz abzurufen, die nicht in der Datentabelle angezeigt wurde. WENN Sie die versteckten Daten in der Datenquelle platzieren, bevor ein Feld, das Sie angezeigt werden möchten, wird es leer gemacht werden, aber wenn Sie es nach dem letzten Feld platzieren, die (wie definiert durch die Spalten Objekt) wiedergegeben werden, dann werden sie nicht machen aber immer noch durch den Datensatz zugänglich sein).

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'); });
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top