06. september 2007 - 22:40Der er
10 kommentarer og 1 løsning
Ændre rækkehøjden i en gridview samt sætte hovereffekt på
Hej.
Jeg har en gridview, der henter data fra en database. Det ser bare totalt dumt ud, da der er plads nok til to rækkers tekst i hver række, og jeg har endnu ikke haft held til at gøre rækkerne mindre ved justering af divers heights parametre.
Hvordan gør jeg det?
Hvordan sætter jeg ligeledes en hover-effekt på rækkerne?
hehe... det er et super godt spørgsmål, for jeg ved det ikke. Synes ikke, at jeg har gjort noget.
Men har oprettet en ny GridView og nu er højden OK igen.
Angående hover-effekten har jeg prøvet at omformulere koden til vb.net og mine linier bliver også en anden farve, når jeg fører musen over dem, men den "nye" farve forsvinder ikke igen.
Dim onmouseoverStyle As String = "this.style.backgroundColor='blue'" Dim onmouseoutStyle As String = "this.style.backgroundColor='#@BackColor'" Dim rowBackColor As String
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowState = DataControlRowState.Alternate Then rowBackColor = gridWebsider.AlternatingRowStyle.BackColor.Name.Remove(0, 2) Else rowBackColor = gridWebsider.RowStyle.BackColor.Name.Remove(0, 2) End If
e.Row.Attributes.Add("onmouseover", onmouseoverstyle) e.Row.Attributes.Add("onmouseout", onmouseoutStyle.Replace("@BackColor", rowBackColor)) End If
Mit problem er stadig ikke løst. Min kode virker ikke korrekt, ligesom tilfældet var sidste år.
Blot for at aflive mulige teorier om, at jeg spammer med mit spørgsmål om hover effekt, er nærig med point eller lignende, så havde jeg problemet sidste år, men fandt aldrig løsningen og droppede det. Nu ville jeg prøve igen - med en ny / anden side, og spurgte igen, men jeg har samme problem.
Protected Sub gridWebsider_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gridWebsider.RowCreated
Dim onmouseoverStyle As String = "this.style.backgroundColor='blue'" Dim onmouseoutStyle As String = "this.style.backgroundColor='#@BackColor'" Dim rowBackColor As String
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowState = DataControlRowState.Alternate Then rowBackColor = System.Drawing.ColorTranslator.ToHtml(gridWebsider.AlternatingRowStyle.BackColor).ToString() 'rowBackColor = gridWebsider.AlternatingRowStyle.BackColor.Name.Remove(0, 2) Else rowBackColor = System.Drawing.ColorTranslator.ToHtml(gridWebsider.RowStyle.BackColor).ToString() 'rowBackColor = gridWebsider.RowStyle.BackColor.Name.Remove(0, 2) End If
e.Row.Attributes.Add("onmouseover", onmouseoverStyle) e.Row.Attributes.Add("onmouseout", onmouseoutStyle.Replace("@BackColor", rowBackColor)) End If
Når musen føres over linierne, så ændres farven til "blå" men når musen fjernes fra linien, så ændrer den nye farve ikke tilbage til den oprindelige farve, men forbliver "blå"
Hvis jeg i linie 2 ændrer "@BackColor" til "#@BackColor" ser det ud til at virke fint
PS. Jeg har prøvet at konvertere C# koden til VB.Net og det kan være at ovennævnte virker i C# uden jeg har kendskab til det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.