2010-08-30 11 views
0

J'ai essayé d'utiliser quelques grilles de données différentes (FlexiGrid, ExtJs Grid et YUI DataGrid) et j'ai constaté que YUI fonctionnait en ce qui concerne la documentation et les fonctionnalités disponibles. Cependant, j'ai de la difficulté à configurer la source de données. Lorsque j'essaie de le configurer à l'aide de JSON, cela prend trop de temps ou expire. J'ai déjà maxed l'utilisation de la mémoire dans le fichier php.ini. Il y aura aussi beaucoup plus de records à l'avenir.Problème lors de la mise en œuvre de DataGrid pour plus de 10 000 enregistrements avec pagination, filtrage et liens cliquables pour chaque ligne

Je dois sélectionner des données pour remplir la grille en fonction de l'utilisateur actuellement connecté. Une fois que cette information remplit la grille, j'ai besoin que chaque identifiant soit cliquable et me mène vers une page différente, ou fournisse des informations dans un div sur la même page.

Est-ce que quelqu'un a des suggestions sur le chargement de 25 à 50 enregistrements à un moment de données dynamiques? J'ai essayé d'implémenter l'exemple suivant pour faire ce que je veux: YUI Developer Example Je ne peux pas afficher la grille de données. J'ai changé l'instance de données à ce qui suit.


// DataSource instance
var curDealerNumber = YAHOO.util.Dom.getElementsByClassName('dealer_number', 'input');
var ds_path = + "lib/php/json_proxy.php?dealernumber='" + curDealerNumber + "'";
var myDataSource = new YAHOO.util.DataSource("ds_path");
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
myDataSource.responseSchema = {
resultsList: "records",
fields: [
{key:"id", parser:"number"},
{key:"user_dealername"},
{key:"user_dealeraccttype"},
{key:"workorder_num", parser:"number"},
{key:"segment_num", parser:"number"},
{key:"status"},
{key:"claim_type"},
{key:"created_at"},
{key:"updated_at"}
], metaFields: {
totalRecords: "totalRecords" // Access to value in the server response
} };

Toute aide est grandement appréciée, et désolé si cela semble similaire à d'autres postes, mais je fouillé, toujours pas à résoudre mon problème. Je vous remercie!

Répondre

2

Il est difficile de résoudre sans un cas repro, mais je vous suggère de tourner à se connecter pour voir où le problème pourrait être:

  • charge fichier datatable-debug
  • enregistreur de charge
  • soit appel YAHOO.widget.Logger.enableBrowserConsole() pour afficher les journaux dans la console JS de votre navigateur (par exemple, Firebug), ou appelez le nouveau YAHOO.widget.LogReader() pour afficher les journaux à l'écran.

Assurez-vous également que la requête et la réponse XHR sont bien formées avec Firebug ou un outil similaire.

Enfin, lorsque l'on travaille avec de grands ensembles de données, pensez

Il n'y a pas de solution unique pour tout le monde, mais nous espérons que vous trouverez les bons réglages pour votre cas d'utilisation.