Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1172 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Scroll dans un div

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Scroll dans un div

n°2306332
finelame
Même pas mal
Posté le 05-10-2017 à 13:42:36  profilanswer
 

Bonjour,
J'ai fait cette fonction:  
- input : DataTable  
- output :code HTML.  
 
Sur un clique de cette grille on mémorise le click coté serveur. Au rafraîchissement de la page, la ligne sélectionnée s'affiche en bleu. Cela fonctionne.  
J'aimerai maintenant jouer avec les scrollbar, actuellement il s'affiche, mais au rafraîchissement de la page il remonte tout en haut, ceci ne me convient pas. J'aimerai que le scroll soit automatique sur la valeur sélectionnée (on est sur la ligne sélectionné si dans la boucle isSelected est à 1).
Pouvez-vous me donner un coup de main ?
Merci.
 

Code :
  1. Public Shared Function printTableFromDataTable(ByVal sguid As String, ByVal username As String, ByVal oDT As DataTable, ByVal colNameIndex As String, ByVal dataSelection As String, OperationName As OperationName, ByVal redirect As String, ByVal scrollEnable As Boolean) As String
  2.             If Not IsNothing(oDT) Then
  3.                 Dim table As New StringBuilder
  4.                 Dim color As String = "#FFFFFF"
  5.                 Dim style As String = ""
  6.                 Dim isSelected As Boolean = False
  7.                 table.AppendLine("<div style=""overflow: scroll; height: inherit; width: inherit"">" )
  8.                 ' table.AppendLine("<div>" )
  9.                 table.AppendLine("<table>" )
  10.                 table.AppendLine("<tr>" )
  11.                 table.AppendLine("<th style=""border-top:solid 1px;border-left:solid 1px;border-right:solid 1px;border-bottom:solid 1px;padding: 2px;background:#e0e0eb"">&nbsp;&nbsp;&nbsp;</th>" )
  12.                 For i = 0 To oDT.Columns.Count - 1
  13.                     If Not oDT.Columns(i).ColumnName.StartsWith("hide" ) And Not oDT.Columns(i).ColumnName.StartsWith("color" ) Then
  14.                         table.AppendLine("<th style=""border-top:solid 1px;border-left:solid 1px;border-right:solid 1px;border-bottom:solid 1px;padding: 2px;background:#e0e0eb"">&nbsp;" & oDT.Columns(i).ColumnName & "</th>" )
  15.                     End If
  16.                 Next
  17.                 table.AppendLine("</tr>" )
  18.                 Dim row As DataRow
  19.                 For Each row In oDT.Rows
  20.                     isSelected = If(dataSelection = row(colNameIndex), True, False)
  21.                     Dim hrefSelectParameter As String = "href=""OperationSU.ashx?" & "&guid=" & sguid &
  22.                                                 "&indexOperationValue=" & addOperationValue(sguid, username, OperationName, row.Item(colNameIndex)).ToString() &
  23.                                                 "&redir=" & redirect & """"
  24.                     If row.Table.Columns.Contains("color" ) Then
  25.                         table.AppendLine("<tr style=""background:" & row("color" ) & ";"">" )
  26.                     Else
  27.                         If isSelected Then
  28.                             table.AppendLine("<tr style=""background:#99ccff;"">" )
  29.                         Else
  30.                             table.AppendLine("<tr>" )
  31.                         End If
  32.                     End If
  33.                     If isSelected Then
  34.                         style = "height:25px;border-top:solid 1px;border-left:solid 0px;border-right:solid 1px;border-bottom:solid 1px;padding: 3px"
  35.                         table.AppendLine("<td align=""right"" style=""background:#2E2EFE;border-top:solid 1px;border-left:solid 1px;border-right:solid 1px;border-bottom:solid 1px;padding: 2px""><a " & hrefSelectParameter & " ><font size=""2"" color=""black""></font></a></td>" )
  36.                     Else
  37.                         style = "height:25px;border-top:solid 1px;border-left:solid 0px;border-right:solid 1px;border-bottom:solid 1px;padding: 3px"
  38.                         table.AppendLine("<td align=""right"" style=""background:#A4A4A4;border-top:solid 1px;border-left:solid 1px;border-right:solid 1px;border-bottom:solid 1px;padding: 2px""><a " & hrefSelectParameter & " ><font size=""2"" color=""black""></font></a></td>" )
  39.                     End If
  40.                     For j = 0 To oDT.Columns.Count - 1
  41.                         If Not oDT.Columns(j).ColumnName.StartsWith("hide" ) And Not oDT.Columns(j).ColumnName.StartsWith("color" ) Then
  42.                             If IsNumeric(row(j)) Then
  43.                                 table.AppendLine("<td align=""right"" style=""" & style & """><a " & hrefSelectParameter & " ><font size=""2"" color=""black"">" & If(isSelected, "<b>", "" ) & row(j) & If(isSelected, "</b>", "" ) & "</font></a></td>" )
  44.                             Else
  45.                                 table.AppendLine("<td align=""left"" style=""" & style & """><a " & hrefSelectParameter & " ><font size=""2"" color=""black"">" & If(isSelected, "<b>", "" ) & row(j) & If(isSelected, "</b>", "" ) & "</font></a></td>" )
  46.                             End If
  47.                         End If
  48.                     Next
  49.                     table.AppendLine("</tr>" )
  50.                 Next
  51.                 table.AppendLine("</table>" )
  52.                 table.AppendLine("</div>" )
  53.                 Return table.ToString
  54.             Else
  55.                 Return Nothing
  56.             End If
  57.         End Function

mood
Publicité
Posté le 05-10-2017 à 13:42:36  profilanswer
 

n°2306483
finelame
Même pas mal
Posté le 10-10-2017 à 07:02:31  profilanswer
 

Hello, pas de réponse car la question n'est pas claire ? ou parce qu'il n'y a pas de solution ?

n°2306525
David Bori​ng
Posté le 10-10-2017 à 17:55:20  profilanswer
 

Ce n'est pas clair.
Je n'ai aucune idée si ta scrollbar appartient au tableau ou à la page.
Et puis, le code est illisible et ne sert à rien en l'état.
En outre, je ne comprends pas ce que tu fais

Citation :


Sur un clique de cette grille on mémorise le click coté serveur. Au rafraîchissement de la page, la ligne sélectionnée s'affiche en bleu


Pourquoi vouloir rafraichir la page pour mettre une ligne en bleu ?

 

Si par contre, tu veux lors de la visite suivante scroller la page jusqu'à la ligne, tu le fais en javascript.
https://developer.mozilla.org/fr/do [...] w/scrollTo

 

Et si tu ne connais pas très bien le HTML, CSS tu peux employer des kits d'interface. (désolé mais le code de ton tableau n'est vraiment pas bon)
https://purecss.io/tables/ par exemple


Message édité par David Boring le 10-10-2017 à 17:55:56
n°2306544
finelame
Même pas mal
Posté le 11-10-2017 à 06:48:21  profilanswer
 

Merci d'avoir pris du temps pour répondre et essayer de comprendre le bordel.
Je rafraîchi la page car je ne sais pas comment mettre en bleu la ligne sélectionner + sauver la valeur coté serveur sans faire de rafraîchissement.
Je truc c'est que les pages contiennent plusieurs grilles, donc il faut faire un scroll-to sur chaque DIV de la page. C'est pour cela que j'aimerai que ce code de scroll-to soit codé dans cette fonction qui génère le code de la table.
 
Est-il possible de mettre une balise sur la ligne sélectionner et de scroller automatiquement sur cette balise ?

n°2306561
David Bori​ng
Posté le 11-10-2017 à 15:02:41  profilanswer
 

Tu dois faire de l'ajax
https://developer.mozilla.org/fr/docs/AJAX/Premiers_pas
 
Tu envoies ton code au serveur, et en même temps tu donnes une classe à ta ligne pour la rendre bleu, pas besoin du serveur pour faire cela.
Tu fais cela en javascript, avec un event listener.
 
Et si tu as plusieurs table avec une ligne sélectionné, et bien tu scrolles seulement à la première occurence de ta classe


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Scroll dans un div

 

Sujets relatifs
Désactiver scroll sur google map iframeInfinite Scroll sur plusieurs DIV
Script Wheel mouse, éviter les erreur de scrollBackground ne suit pas le scroll (zut!)
[Assembleur x86]Scroll Upinfinite ajax scroll et gifplayer
comment faire une lecture en scroll vertical ?[CSS] fixed, z-index vs scroll
barre de menu fixe qui apparait au scrollInfinite Scroll Wordpress
Plus de sujets relatifs à : Scroll dans un div


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR