2009-01-15 7 views
1

Quelqu'un sait-il si, au moment de l'exécution, il est possible de connaître le nombre de pixels d'une grille asp.net?déterminer la hauteur en pixels d'un gridview sur une page asp.net à l'exécution?

J'ai un gridview sur la gauche de ma page. Sur le côté droit, je peupler avec des images aléatoires qui varient en hauteur et je voudrais (le plus près possible) correspondre à la hauteur totale de la grille avec la somme des hauteurs totales des images sur la droite. (Le code continue de vérifier les images jusqu'à ce qu'il trouve celles avec la bonne hauteur).

Je peux approcher la hauteur en connaissant le nombre de lignes (gridview.rows.count * une hauteur de ligne moyenne), mais comme les hauteurs de ligne peuvent varier selon qu'elles sont longues, je préférerais essayer obtenir une meilleure estimation de la hauteur ...

Thx!

Répondre

0

Selon toute vraisemblance, vous aurez besoin de gérer cela en utilisant des scripts côté client. Il existe des techniques en javascript pour déterminer la hauteur réelle en pixels des éléments de la page que vous pourriez utiliser. L'inconvénient ici est que vous n'auriez pas accès à cette information pendant le chargement de la page côté serveur. En alternative, vous pouvez appliquer un style à la grille pour mieux contrôler la hauteur de chaque rangée, puis implémenter la pagination afin de toujours connaître la hauteur de la grille. Dans le passé, j'ai implémenté un gridview à hauteur fixe avec un en-tête "gelé" et un div défilable autour, donc j'ai toujours au moins connu la hauteur maximale de la grille (évidemment si vous ne frappez pas ça max alors la hauteur est encore variable).

Il y a un tas de ressources là-bas sur la façon de faire, cet article semble assez bon: GridView with frozen header

0

bien La hauteur est une propriété, donc je suppose:

int heightGV = GridView1.Height; 

Je pourrais très bien me tromper mais, parce que je l'ai jamais fait. Essayez-le et faites le nous savoir.

Questions connexes