2009-05-26 7 views
0

J'ai une table avec environ 5.000 lignes que je construis dynamiquement avec jQyuery. Je me demandais s'il y avait un moyen d'afficher les lignes dans les morceaux pendant que la table est en cours de construction, jusqu'à ce que finalement montrer toutes les lignes? J'ai essayé cela mais sans succès. Jusqu'ici, j'ai essayé ce qui suit:rendu partiel d'une grande table dans jQuery

a) Création des stubs b) Obtention du nombre total de lignes et division en rangs plus petits. c) Injecter le premier bloc dans la table et incorporer un appel à une fonction dans la dernière rangée pour appeler le lot de données suivant à charger).

Malheureusement, même de cette façon, il veut attendre que tout rend. Y a-t-il un moyen de contourner ceci? Pourquoi voudriez-vous des lignes 5K dans une webapp?

Répondre

1

Utilisez setTimeout pour générer le segment suivant de la table, en abandonnant le thread d'interface utilisateur pour un petit peu, il affichera les parties de la table comme ils sont générés. En appelant le code de génération au bas du code généré, vous n'abandonniez jamais l'unité d'exécution en appelant le code de génération

+0

cela semble être la meilleure approche. Je vais l'essayer. Merci – Dkong

0

Je vous suggère fortement d'utiliser la pagination.

Sinon, la solution c) semble la meilleure et devrait fonctionner. Peut-être que vous avez juste besoin de quelques petites modifications. Appelez-vous le lot de données suivant avec un appel ajax? Que voyez-vous pendant le chargement du prochain lot de données? Le navigateur stagne-t-il?

0

paging serait la meilleure solution. il y a déjà un certain nombre de bons plugins de jquery datagrid sur la scène tels que flexigrid et jqgrid. vérifiez ceux-là.

+0

J'aurais dû dire que la radiomessagerie n'est pas appropriée pour ce scénario, car j'affiche des données financières avec des agrégats. Quoi qu'il en soit, la pagination est un non-lieu définitif pour ce scénario (instruction du client), d'où ma tentative de trouver une solution raisonnable. – Dkong

Questions connexes