Repositionnement de la scrollbar apres postback

Résolu
cabbry Messages postés 100 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006 - 23 mai 2005 à 08:35
cabbry Messages postés 100 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006 - 24 mai 2005 à 09:58
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

cabbry Messages postés 100 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006 1
24 mai 2005 à 09:58
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
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 mai 2005 à 09: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
0
cabbry Messages postés 100 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006 1
23 mai 2005 à 11:14
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 mai 2005 à 12:14
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<
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cabbry Messages postés 100 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006 1
23 mai 2005 à 15:07
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 mai 2005 à 16:19
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
0
cabbry Messages postés 100 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006 1
24 mai 2005 à 08:58
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
0
Rejoignez-nous