Accueil > Forum > > > > Sauvegarder la position du scroll d'un datagrid
Sauvegarder la position du scroll d'un datagrid
mardi 16 mai 2006 à 09:25:27 |
Sauvegarder la position du scroll d'un datagrid

diablot2
|
Bonjour
je développe une application web en asp.net vb.net et mon problème est que j'ai un datagrid avec un scrollbar et que lors du clic sur un élément de ce dernier le datagrid remonte en haut et moi j'aimerai qu'il garde la position. J'ai trouvé un code sur le web qui marche à moitier car en effet lors du clic sur un autre element la position est garder mais lors du clic de l'hyperlink d'un élement du datagrid celui ci remonte. Donc la question c'est comment puis-je faire pour qu'il ne remonte pas quand je clic sur l'hyperlink? merci de votre aide
Voila la fonction java script que j'ai trouvé :
-- ligne qui permet d'avoir le scroll dans le datagrid
<div id="divGrid" style="OVERFLOW: auto; HEIGHT: 900px" onscroll="SaveDivPosition()" onclick="SaveDivPosition()">
-- ligne hyperlink qui renvoi des paramètres
<asp:TemplateColumn HeaderText="NoArticleFabricant"> <ItemTemplate> <asp:HyperLink id=HyperLink1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NoArticle") %>' NavigateUrl='<%# "Recapitulatif.aspx?idprod=" & DataBinder.eval(Container.DataItem,"[NoArticle]") & "&numliste=" & dlliste.SelectedValue &"& SaveDivPosition()"%> '> </asp:HyperLink> </ItemTemplate>
|
|
mardi 16 mai 2006 à 12:27:42 |
Re : Sauvegarder la position du scroll d'un datagrid

mdemo
|
Bonjour, Je suis exactement sur le même sujet... Vu le nom de ta fonction javascript je pense que tu as trouvé ce code sur le blog d'un certain Eric. Je viens juste de le mettre en place, et ça marche impeccable, sauf que la solution cookie ne me plait pas plus que ça. Pour ce qui est de ton problème je ne vois pas trop, surtout que je n'y connais rien en javascript ! (est-ce que un oncontrolselect marcherait...).
Ca m'amène d'ailleurs à te retourner une question : dans mon cas je ne cherche pas à garder en mémoire la position du curseur vertical, mais la position d'un curseur horizontal. J'ai transformé le yPos en xPos, sans résultat. Je pense que le scrollTop est en cause, mais n'y connaissant rien je ne sais par quoi le remplacer. As-tu une idée ? Merci d'avance
|
|
dimanche 18 juin 2006 à 20:07:50 |
Re : Sauvegarder la position du scroll d'un datagrid

htmlchef
|
<%@ Page Language="vb" .... SmartNavigation="true" %> (en .net1) <%@ Page Language="vb" ... maintainScrollPositionOnPostBack="True" %> (en .net2)
|
|
lundi 19 juin 2006 à 09:47:23 |
Re : Sauvegarder la position du scroll d'un datagrid

mdemo
|
Merci htmlchef pour ton message, mais le maintainScrollPositionOnPostBack est une directive de Page : elle permet de maintenir la position du curseur de la page seulement. Le problème de diablot2 est de maintenir la position d'un curseur de Div, dans lequel il a mis un datagrid ou un autre objet. L'astuce consiste alors à créér un hiddenfield par exemple et à y mettre la position du curseur, qui sera récupérée après postback et permettra de repositionner celui-ci. Pour un curseur vertical on utilisera le scrollTop, et pour un horizontal le scrollLeft. Bonne journée à tous.
|
|
lundi 19 juin 2006 à 12:01:57 |
Re : Sauvegarder la position du scroll d'un datagrid

htmlchef
|
Salut Mdemo,tu dois éssayer le SmartNavigation="true", car ça maintien aussi la position du curseur pour le Div, mais le problème c que ça cohabite pas avec le JavaScript , bonne journée ..
|
|
mardi 20 juin 2006 à 23:52:28 |
Re : Sauvegarder la position du scroll d'un datagrid

mdemo
|
Je ne me souvenais pas, mais tu as effectivement raison! Je viens de faire l'essai et ça marche en effet. Je me suis donc demandé pourquoi il y a quelques semaines j'avais fait cette routine js pour maintenir le scroll, car j'avais fait des essais avec le smartnavigation et le maintainScrollPositionOnPostBack . N'ayant pas de problème de cohabitation avec du js (merci pour cette info que je ne connaissais pas), je pense que mon problème était que cette ça marche avec smartnavigation, mais pas avec maintainScrollPositionOnPostBack qui est censé le remplacer. Alors comment faire quand on est sous 2.0 ? Peux tu me conseiller là dessus ? Pourquoi y a t-il une régression entre 1.1 et 2.0 ? J'ai aussi lu que smartnavigation marche seulement à partir de IE 5.5. N'est-il pas préférable au final d'intégrer ses propres routines? Merci
|
|
mercredi 21 juin 2006 à 15:07:52 |
Re : Sauvegarder la position du scroll d'un datagrid

htmlchef
|
et pour cela je préfèr utiliser seulement du JavaScript,mem si c pas de la mem efficacité que le SmartNavigation,voila une fonction que j utilise Pour le Div :
<script language="javascript"> window.onload = function(){ var strPos = document.getElementById("scrollPosHidden").value; document.getElementById("divGrid").scrollTop = strPos; } function SaveDivPosition(){ var intY = document.getElementById("divGrid").scrollTop; document.getElementById("scrollPosHidden").value = intY; } window.onunload = savedivposition(); window.onload = savedivposition(); </script>
<div id="divGrid" ; OVERFLOW: auto; POSITION: absolute; TOP: 128px; onscroll="SaveDivPosition()" onclick="SaveDivPosition()" noWrap>
<INPUT type="hidden" id="scrollPosHidden" runat="server" NAME="scrollPosHidden">
1-on cree une fonction javascript 2-on l'appel chez la Div 3-on cree un INPUT hidden runat=server,champ caché pour k il renvoi la posission du scroll au serveur
stp j ai besoin d une fonction comme celle ci mais pour le scroll de la page et ça ne doi marché seuf si tu n utilise pas le SmartNavigation
Bonne chance
|
|
mardi 27 juin 2006 à 09:57:28 |
Re : Sauvegarder la position du scroll d'un datagrid

mdemo
|
Bonjour htmlchef, Désolé pour mon retard pour te répondre. J'utilise moi aussi exactement le même code javascript pour maintenir les div en position. Je ne mets pas de smartnavigation, mais par contre j'utilise le maintainscrollpositiononpostback dont la seule utilité est de justement maintenir le scroll de la page seulement. Si pour une raison que j'ignore tu ne souhaites pas l'utiliser et le gérer toi même en js, je pense qu'il faut que tu regardes du côté de l'objet window pour modifier ton code actuel (qui est basé sur l'objet document). Parmi les méthodes disponibles je ne vois par contre pas de scrolltop... mais il y a ScrollTo(x,y) (fait scroller jusqu'à ce que le point x,y soit en haut à gauche) et ScrollBy(deltaX,deltaY) (fait scroller de deltaX et deltaY). Il semble donc facile de positionner le scroll (du style window.scrollBy(0,intY). Reste à déterminer comment repérer sa position intY car il n'y a semble-t-il pas de scrollTop (ce qui reste à vérifier). Bon courage, et tiens moi au courant!
|
|
Cette discussion est classée dans : clic, datagrid, position, scroll, remonte
Répondre à ce message
Sujets en rapport avec ce message
Datagrid - bloquer les entêtes [ par berocca ]
Est-il possible de fixer les entêtes de colonnes d'une datagrid, pour que lors du scroll elles ne disparaissent pas ?Rem : pour faire un scroll dans u
datagrid vide [ par Poulipe ]
Bonjour,Je voudrais savoir dans quelles circonstances un Datagrid, apres un clic sur une ligne de celui-ci, se retrouve vide.je m explique :j ai dans
ASP.NET Listbox scroll position [ par BadFog ]
Bonjour,Quelqu'un sait-il comment restaurer la position d'une listbox après un postback (équivalent de topindex en windows.forms). Je suis contraint d
Scroll datagrid et repositionnement [ par thigo ]
Bonjour,J'ai sur une webform posé un panel dans lequel j'ai inséré une datagrid. J'ai valider un ascenseur vertical dans le panel. Cela me permet de s
position du scroll lors d'un click [ par hay2006 ]
salut,je voudrais savoir coment conserver la position du scroll lors d'un click sur un bouton qui se trouve au beau milieu d'une page assez longue mal
Conserver la position aprés un click sur une ligne du datagrid [ par Cipoli ]
Bonjours a tous Je travaille sur une page en ASP 1.0, elle contient un datagrid de plusieurs lignes.Exemple : je click sur une la 15ème ligne du data
Position d'objets sous une datagrid [ par MAQFAB ]
Bonjour à tous, Je suis débutant sur cette techno, et j'ai donc un problème de débutant à vous exposer. Une de mes pages comporte un label, une datag
Maintien position scroll d'un panel après un postback [ par gbigare ]
Bonjour,Pour des besoins de mise en page, j'ai un inséré GridView dans un Panel avec ScrollBar="Auto". Je ne trouve pas de solution pour memoriser la
DATA GRID probleme [ par hay2006 ]
je viens de rencontrer deux grands problemes lors de la gestion d'un datagrid :1-quelle méthode adapter pour parcourir les colonnes et lignes d'un dat
Composant qui part quand on clique sur un lien de la page [ par Ethan ]
Bonjour à tous, Je pense que c'est la première fois que je poste dans ce forum ... Merci à tous de me lire ! Dans un UserControl, j'ai une DataGrid
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par Megafan
Cliquez pour lire la suite par Megafan FORMULAIREFORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|