DevTrain .NET Developers Home. Das Community Portal für ASP.NET, Visual Basic, C#
 
  Login Status: Hallo   Anmelden  Suche:  
Navigationslinks überspringen
Startseite
Artikel
Blogs
Foren
ClubClub erweitern

 
Ihre Optionen
Save
Mail
Print
Rate
 
Advertising
  Advanced Developers Track vom 24.-25. Februar 2010 im ehem. IMAX München

 
Navigationslinks überspringen
Autor:Hannes Preishuber

Zeile in Gridview selektieren

Das neue Gridview Control unterstützt die Auswahl einer Row nur mit  einer Command Column. Das heist ein Button, Hyperlink oder Bild wird  verwendet um den Datensatz zu selektieren. Out of the Box ist es  nicht möglich per Click auf die Zeile diese zu selektieren.

Grundsätzlich benötigt man für eine derartige Funktion Jscript Events,  genauer gesagt OnMouseOver und OnMouseOut. Dabei wird jeweils Code  ausgeführt der die Hintergrundfarbe verändert. Diese Events werden 
für die gesamte Reihe als TR benötigt. Um Zugriff auf dei Reihe zu erhalten bietet sich das RowCreated 
Event an, das in den E Args die Eigenschaft Row besitzt. So kann man dann die Attribute als Key, Value Paar anhängen.

e.Row.Attributes.Add("onMouseOver","this.style.background='silver'")

Daraus entsteht im Browser dann:

<tr onMouseOver="this.style.background='silver'"

Mit der gleichen Methode wird dann das eigentliche Click des  Benutzers ausgewertet. Mit der JScript Funktion „navigate“ wird vom  Client der Aufruf einer neuen Seite angestoßen und dabei die ID des  Datensatzes übergeben.

Das vollständige Code Schnippsel:

<script runat="server">
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e 
As System.Web.UI.WebControls.GridViewRowEventArgs)
  e.Row.Attributes.Add("onMouseOver", 
this.style.background='silver'")
  e.Row.Attributes.Add("onMouseOut", 
"this.style.background='white'")
  e.Row.Attributes.Add("onClick", "window.navigate('detail.aspx?id=" 
+ e.Row.DataItemIndex.ToString() + "')")
 
End Sub
</script>


 


Diskutieren Sie in den Foren

VSone vom 24.-25. Februar 2010 im ehem. IMAX München