finelame Même pas mal | 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 :
- 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
- If Not IsNothing(oDT) Then
- Dim table As New StringBuilder
- Dim color As String = "#FFFFFF"
- Dim style As String = ""
- Dim isSelected As Boolean = False
- table.AppendLine("<div style=""overflow: scroll; height: inherit; width: inherit"">" )
- ' table.AppendLine("<div>" )
- table.AppendLine("<table>" )
- table.AppendLine("<tr>" )
- table.AppendLine("<th style=""border-top:solid 1px;border-left:solid 1px;border-right:solid 1px;border-bottom:solid 1px;padding: 2px;background:#e0e0eb""> </th>" )
- For i = 0 To oDT.Columns.Count - 1
- If Not oDT.Columns(i).ColumnName.StartsWith("hide" ) And Not oDT.Columns(i).ColumnName.StartsWith("color" ) Then
- table.AppendLine("<th style=""border-top:solid 1px;border-left:solid 1px;border-right:solid 1px;border-bottom:solid 1px;padding: 2px;background:#e0e0eb""> " & oDT.Columns(i).ColumnName & "</th>" )
- End If
- Next
- table.AppendLine("</tr>" )
- Dim row As DataRow
- For Each row In oDT.Rows
- isSelected = If(dataSelection = row(colNameIndex), True, False)
- Dim hrefSelectParameter As String = "href=""OperationSU.ashx?" & "&guid=" & sguid &
- "&indexOperationValue=" & addOperationValue(sguid, username, OperationName, row.Item(colNameIndex)).ToString() &
- "&redir=" & redirect & """"
- If row.Table.Columns.Contains("color" ) Then
- table.AppendLine("<tr style=""background:" & row("color" ) & ";"">" )
- Else
- If isSelected Then
- table.AppendLine("<tr style=""background:#99ccff;"">" )
- Else
- table.AppendLine("<tr>" )
- End If
- End If
- If isSelected Then
- style = "height:25px;border-top:solid 1px;border-left:solid 0px;border-right:solid 1px;border-bottom:solid 1px;padding: 3px"
- 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>" )
- Else
- style = "height:25px;border-top:solid 1px;border-left:solid 0px;border-right:solid 1px;border-bottom:solid 1px;padding: 3px"
- 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>" )
- End If
- For j = 0 To oDT.Columns.Count - 1
- If Not oDT.Columns(j).ColumnName.StartsWith("hide" ) And Not oDT.Columns(j).ColumnName.StartsWith("color" ) Then
- If IsNumeric(row(j)) Then
- 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>" )
- Else
- 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>" )
- End If
- End If
- Next
- table.AppendLine("</tr>" )
- Next
- table.AppendLine("</table>" )
- table.AppendLine("</div>" )
- Return table.ToString
- Else
- Return Nothing
- End If
- End Function
|
|