Repositionnement de la scrollbar apres postback [Résolu]

Signaler
Messages postés
100
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2006
-
Messages postés
100
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2006
-
Bonjour,



j'aimerai repositionner ma scrollbar au bon endroit avec un
Postback, sans utiliser smartnavigation=true.



J'ai trouvé le code à
l'adresse:



http://www.dotnetguru.org/articles/DP/StoreAndPostBack/scrollit.htm



Mais
je n'arrive pas à l'utiliser...

Je ne sais pas ou et comment appeller son
fichier/ ses classes.



Merci



Cab

7 réponses

Messages postés
100
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2006
1
Rectification....j'ai écris des grosses ****** !



On met rien dans le code behind !!!



C'est uniquement si on veut faire des traitements spéciaux...



Dans la page aspx, on met bien:



dans le head:

<script language="JScript">
function GridScroll() {
if (document.all.ScrollHere!=null) {



document.all.ScrollHere.scrollIntoView();
}
}
</script>



ensuite dans le body:





et ensuite j'ai mis le fameux:





entre des balises <EDITITEMTEMPLATE> du datadrid...



ce qui permet de se repositionner au bon endroit au moment ou l'on met une ligne

du datagrid en édition...



Ouf !



Cab
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Il y a yb code trés simple sur www.dotnet-project.com il est moins complet que celui que tu me montres, mais il est beaucoup plus facile :)


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
100
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2006
1
Je suis allé voir le code sur www.dotnet-project.com,

l'article s'appelle Replacer le scrolling après un Postback

(pour ceux que ça interresse).

Ce code marche très bien mais je n'ai toujours pas trouvé de

solution lorsque l'on veut se repositionner dans un datagrid.

Lorsque l'on utilise un
asp:EditCommandColumn par exemple.



D'autres solutions ???



Cab
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Je viens juste de regarder un peu plus en profondeur l'article que tu
m'as montré, normalement il devrait resoudre ton problème, j'ai lu
juste le code et les gros titre car les explications me semblaient
superflus :p



Donc ce code c'est un controle, il faut que tu créer un nouveau projet
de type controle web dans ta solution etc... si t'arrives pas à faire
ca tu me le dis, puis ensuite tu ajoute ce controle dans la page, et
c'est tout :)



Ce que fait ce controle ?



il ajoute un champ hidden puis des
que tu scroll ca enregistre via javascript, la position du scroll,
ensuite aprés le postback il recuperer la meme position du scroll, il
faut donc pas que la page grandissent entre temps :p

<hr>Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr<
Messages postés
100
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2006
1
Je suis en train de galérer.



J'ai réussi à compiler, créer une dll...



Mais apparement, elle ne marche pas...



Je n'arrive même pas à l'intégrer dans la tool box...





Cab
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Le problème c'est que moi je peux meme pas te la compiler et la tester, car j'ai que VS2005 beta2 et donc ca va compiler en .net 2 mais de mémoire, tu ajoutes un nouveau projet de type webcontrol library ou un truc du genre, puis tu compiles, ensuite dans ton projet web, tu met ajouter une reference, et tu selectionnes ton projet.

aprés et c'est la que ca se complique

<%@ Register Assembly="WebControlLibraryNameAssembly" TagPrefix="cc1" %>

<cc1:ClassName id="truc" runat="server" />

Bon je te donne tout ce code de tete, donc je suis loin d'etre sur de moi, faudrais que je regarde dans un bouquin.

tu peux aussi mettre le composant dans la toolbar ce qui est quand meme plus simple pour cela, tu dois faire un clique droit dans la toolbar puis choose items puis tu choisis la dll, puis en thoérie un drag & drop et c'est bon.

Si ca marche pas, dis moi ce qui plante, si deja tu arrives à compiler la dll & co


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
100
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2006
1
Salut,



j'ai testé de faire comme tu as dit et je n'y suis pas arrivé...



Erreur sur erreur....



J'ai trouvé une autre solution:



je me suis basé sur ces 2 articles:



http://www.dotnetjunkies.com/HowTo/56233565-236B-4EF0-AE9B-5680CA019FDD.dcik

http://www.dotnetjunkies.com/HowTo/CD157079-5F60-4031-8BFB-9F8C7478D586.dcik



Concrètement:



dans le head de la page aspx



<script language="JScript">

function GridScroll() {

if (document.all.ScrollHere!=null) {



document.all.ScrollHere.scrollIntoView();

}

}

</script>



(le scrollIntoView() ne marche qu'avec IE...)



Au niveau du datagrid toujours dans la page aspx:



if (! Page.IsPostBack )

{

IsRowMarked=true;





protected void ItemsGrid_param_OnItemDataBound( object sender,DataGridItemEventArgs e)

{



if (!IsRowMarked)

{


e.Item.Cells[0].Text+="";

IsRowMarked=true;

}

}



Je vais essayé de voir si je ne peux pas optimiser ce code...



Le <italique>IsRowMarked
ne me plait pas.



Cab