Benutzer mit den meisten Antworten
Hervorheben einer ListView-Reihe durch Mausklick

Frage
-
Folgende lange Tabelle wurde mir in der Entwurfsansicht von Visual Studio 2012 erzeugt:
Sie hat den Sinn, alle Views aus der Beispieldatenbank AdventureWorksDW2012 anzuzeigen.
<asp:ListView ID="ListView1" runat="server" DataKeyNames="id" DataSourceID="SqlDataSource2" OnSelectedIndexChanging="ListView1_SelectedIndexChanging"> <AlternatingItemTemplate> <tr style="background-color:#FFFFFF;"> <td><asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' /></td> <td><asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' /></td> <td><asp:Label ID="xtypeLabel" runat="server" Text='<%# Eval("xtype") %>' /></td> <td><asp:Label ID="uidLabel" runat="server" Text='<%# Eval("uid") %>' /></td> <td><asp:Label ID="infoLabel" runat="server" Text='<%# Eval("info") %>' /></td> <td><asp:Label ID="statusLabel" runat="server" Text='<%# Eval("status") %>' /></td> <td><asp:Label ID="base_schema_verLabel" runat="server" Text='<%# Eval("base_schema_ver") %>' /></td> <td><asp:Label ID="replinfoLabel" runat="server" Text='<%# Eval("replinfo") %>' /></td> <td><asp:Label ID="parent_objLabel" runat="server" Text='<%# Eval("parent_obj") %>' /></td> <td><asp:Label ID="crdateLabel" runat="server" Text='<%# Eval("crdate") %>' /></td> <td><asp:Label ID="ftcatidLabel" runat="server" Text='<%# Eval("ftcatid") %>' /></td> <td><asp:Label ID="schema_verLabel" runat="server" Text='<%# Eval("schema_ver") %>' /></td> <td><asp:Label ID="stats_schema_verLabel" runat="server" Text='<%# Eval("stats_schema_ver") %>' /></td> <td><asp:Label ID="typeLabel" runat="server" Text='<%# Eval("type") %>' /></td> <td><asp:Label ID="userstatLabel" runat="server" Text='<%# Eval("userstat") %>' /></td> <td><asp:Label ID="sysstatLabel" runat="server" Text='<%# Eval("sysstat") %>' /></td> <td><asp:Label ID="indexdelLabel" runat="server" Text='<%# Eval("indexdel") %>' /></td> <td><asp:Label ID="refdateLabel" runat="server" Text='<%# Eval("refdate") %>' /></td> <td><asp:Label ID="versionLabel" runat="server" Text='<%# Eval("version") %>' /></td> <td><asp:Label ID="deltrigLabel" runat="server" Text='<%# Eval("deltrig") %>' /></td> <td><asp:Label ID="instrigLabel" runat="server" Text='<%# Eval("instrig") %>' /></td> <td><asp:Label ID="updtrigLabel" runat="server" Text='<%# Eval("updtrig") %>' /></td> <td><asp:Label ID="seltrigLabel" runat="server" Text='<%# Eval("seltrig") %>' /></td> <td><asp:Label ID="categoryLabel" runat="server" Text='<%# Eval("category") %>' /></td> <td><asp:Label ID="cacheLabel" runat="server" Text='<%# Eval("cache") %>' /></td> </tr> </AlternatingItemTemplate> <EditItemTemplate> <tr style="background-color:#ff0000;color: grey;"> <td><asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Aktualisieren" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Abbrechen" /></td> <td><asp:TextBox ID="nameTextBox" runat="server" Text='<%# Bind("name") %>' /></td> <td><asp:Label ID="idLabel1" runat="server" Text='<%# Eval("id") %>' /></td> <td><asp:TextBox ID="xtypeTextBox" runat="server" Text='<%# Bind("xtype") %>' /></td> <td><asp:TextBox ID="uidTextBox" runat="server" Text='<%# Bind("uid") %>' /></td> <td><asp:TextBox ID="infoTextBox" runat="server" Text='<%# Bind("info") %>' /></td> <td><asp:TextBox ID="statusTextBox" runat="server" Text='<%# Bind("status") %>' /></td> <td><asp:TextBox ID="base_schema_verTextBox" runat="server" Text='<%# Bind("base_schema_ver") %>' /></td> <td><asp:TextBox ID="replinfoTextBox" runat="server" Text='<%# Bind("replinfo") %>' /></td> <td><asp:TextBox ID="parent_objTextBox" runat="server" Text='<%# Bind("parent_obj") %>' /></td> <td><asp:TextBox ID="crdateTextBox" runat="server" Text='<%# Bind("crdate") %>' /></td> <td><asp:TextBox ID="ftcatidTextBox" runat="server" Text='<%# Bind("ftcatid") %>' /></td> <td><asp:TextBox ID="schema_verTextBox" runat="server" Text='<%# Bind("schema_ver") %>' /></td> <td><asp:TextBox ID="stats_schema_verTextBox" runat="server" Text='<%# Bind("stats_schema_ver") %>' /></td> <td><asp:TextBox ID="typeTextBox" runat="server" Text='<%# Bind("type") %>' /></td> <td><asp:TextBox ID="userstatTextBox" runat="server" Text='<%# Bind("userstat") %>' /></td> <td><asp:TextBox ID="sysstatTextBox" runat="server" Text='<%# Bind("sysstat") %>' /></td> <td><asp:TextBox ID="indexdelTextBox" runat="server" Text='<%# Bind("indexdel") %>' /></td> <td><asp:TextBox ID="refdateTextBox" runat="server" Text='<%# Bind("refdate") %>' /></td> <td><asp:TextBox ID="versionTextBox" runat="server" Text='<%# Bind("version") %>' /></td> <td><asp:TextBox ID="deltrigTextBox" runat="server" Text='<%# Bind("deltrig") %>' /></td> <td><asp:TextBox ID="instrigTextBox" runat="server" Text='<%# Bind("instrig") %>' /></td> <td><asp:TextBox ID="updtrigTextBox" runat="server" Text='<%# Bind("updtrig") %>' /></td> <td><asp:TextBox ID="seltrigTextBox" runat="server" Text='<%# Bind("seltrig") %>' /></td> <td><asp:TextBox ID="categoryTextBox" runat="server" Text='<%# Bind("category") %>' /></td> <td><asp:TextBox ID="cacheTextBox" runat="server" Text='<%# Bind("cache") %>' /></td> </tr> </EditItemTemplate> <EmptyDataTemplate> <table runat="server" style="background-color: grey;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;"> <tr> <td>Keine Daten vorhanden.</td> </tr> </table> </EmptyDataTemplate> <InsertItemTemplate> <tr style=""> <td><asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Einfügen" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Löschen" /></td> <td><asp:TextBox ID="nameTextBox" runat="server" Text='<%# Bind("name") %>' /></td> <td><asp:TextBox ID="idTextBox" runat="server" Text='<%# Bind("id") %>' /></td> <td><asp:TextBox ID="xtypeTextBox" runat="server" Text='<%# Bind("xtype") %>' /></td> <td><asp:TextBox ID="uidTextBox" runat="server" Text='<%# Bind("uid") %>' /></td> <td><asp:TextBox ID="infoTextBox" runat="server" Text='<%# Bind("info") %>' /></td> <td><asp:TextBox ID="statusTextBox" runat="server" Text='<%# Bind("status") %>' /></td> <td><asp:TextBox ID="base_schema_verTextBox" runat="server" Text='<%# Bind("base_schema_ver") %>' /></td> <td><asp:TextBox ID="replinfoTextBox" runat="server" Text='<%# Bind("replinfo") %>' /></td> <td><asp:TextBox ID="parent_objTextBox" runat="server" Text='<%# Bind("parent_obj") %>' /></td> <td><asp:TextBox ID="crdateTextBox" runat="server" Text='<%# Bind("crdate") %>' /></td> <td><asp:TextBox ID="ftcatidTextBox" runat="server" Text='<%# Bind("ftcatid") %>' /></td> <td><asp:TextBox ID="schema_verTextBox" runat="server" Text='<%# Bind("schema_ver") %>' /></td> <td><asp:TextBox ID="stats_schema_verTextBox" runat="server" Text='<%# Bind("stats_schema_ver") %>' /></td> <td><asp:TextBox ID="typeTextBox" runat="server" Text='<%# Bind("type") %>' /></td> <td><asp:TextBox ID="userstatTextBox" runat="server" Text='<%# Bind("userstat") %>' /></td> <td><asp:TextBox ID="sysstatTextBox" runat="server" Text='<%# Bind("sysstat") %>' /></td> <td><asp:TextBox ID="indexdelTextBox" runat="server" Text='<%# Bind("indexdel") %>' /></td> <td><asp:TextBox ID="refdateTextBox" runat="server" Text='<%# Bind("refdate") %>' /></td> <td><asp:TextBox ID="versionTextBox" runat="server" Text='<%# Bind("version") %>' /></td> <td><asp:TextBox ID="deltrigTextBox" runat="server" Text='<%# Bind("deltrig") %>' /></td> <td><asp:TextBox ID="instrigTextBox" runat="server" Text='<%# Bind("instrig") %>' /></td> <td><asp:TextBox ID="updtrigTextBox" runat="server" Text='<%# Bind("updtrig") %>' /></td> <td><asp:TextBox ID="seltrigTextBox" runat="server" Text='<%# Bind("seltrig") %>' /></td> <td><asp:TextBox ID="categoryTextBox" runat="server" Text='<%# Bind("category") %>' /></td> <td><asp:TextBox ID="cacheTextBox" runat="server" Text='<%# Bind("cache") %>' /></td> </tr> </InsertItemTemplate> <ItemTemplate> <tr style="background-color:#DCDCDC;color: #000000;"> <td><asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' /></td> <td><asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' /></td> <td><asp:Label ID="xtypeLabel" runat="server" Text='<%# Eval("xtype") %>' /></td> <td><asp:Label ID="uidLabel" runat="server" Text='<%# Eval("uid") %>' /></td> <td><asp:Label ID="infoLabel" runat="server" Text='<%# Eval("info") %>' /></td> <td><asp:Label ID="statusLabel" runat="server" Text='<%# Eval("status") %>' /></td> <td><asp:Label ID="base_schema_verLabel" runat="server" Text='<%# Eval("base_schema_ver") %>' /></td> <td><asp:Label ID="replinfoLabel" runat="server" Text='<%# Eval("replinfo") %>' /></td> <td><asp:Label ID="parent_objLabel" runat="server" Text='<%# Eval("parent_obj") %>' /></td> <td><asp:Label ID="crdateLabel" runat="server" Text='<%# Eval("crdate") %>' /></td> <td><asp:Label ID="ftcatidLabel" runat="server" Text='<%# Eval("ftcatid") %>' /></td> <td><asp:Label ID="schema_verLabel" runat="server" Text='<%# Eval("schema_ver") %>' /></td> <td><asp:Label ID="stats_schema_verLabel" runat="server" Text='<%# Eval("stats_schema_ver") %>' /></td> <td><asp:Label ID="typeLabel" runat="server" Text='<%# Eval("type") %>' /></td> <td><asp:Label ID="userstatLabel" runat="server" Text='<%# Eval("userstat") %>' /></td> <td><asp:Label ID="sysstatLabel" runat="server" Text='<%# Eval("sysstat") %>' /></td> <td><asp:Label ID="indexdelLabel" runat="server" Text='<%# Eval("indexdel") %>' /></td> <td><asp:Label ID="refdateLabel" runat="server" Text='<%# Eval("refdate") %>' /></td> <td><asp:Label ID="versionLabel" runat="server" Text='<%# Eval("version") %>' /></td> <td><asp:Label ID="deltrigLabel" runat="server" Text='<%# Eval("deltrig") %>' /></td> <td><asp:Label ID="instrigLabel" runat="server" Text='<%# Eval("instrig") %>' /></td> <td><asp:Label ID="updtrigLabel" runat="server" Text='<%# Eval("updtrig") %>' /></td> <td><asp:Label ID="seltrigLabel" runat="server" Text='<%# Eval("seltrig") %>' /></td> <td><asp:Label ID="categoryLabel" runat="server" Text='<%# Eval("category") %>' /></td> <td><asp:Label ID="cacheLabel" runat="server" Text='<%# Eval("cache") %>' /></td> </tr> </ItemTemplate> <LayoutTemplate><!-- textfarbe überschriften --> <table runat="server"> <tr runat="server"> <td runat="server"> <table id="itemPlaceholderContainer" runat="server" border="1" style="background-color: grey;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;"> <tr runat="server" style="background-color:#DCDCDC;color:black;"> <th runat="server">name</th> <th runat="server">id</th> <th runat="server">xtype</th> <th runat="server">uid</th> <th runat="server">info</th> <th runat="server">status</th> <th runat="server">base_schema_ver</th> <th runat="server">replinfo</th> <th runat="server">parent_obj</th> <th runat="server">crdate</th> <th runat="server">ftcatid</th> <th runat="server">schema_ver</th> <th runat="server">stats_schema_ver</th> <th runat="server">type</th> <th runat="server">userstat</th> <th runat="server">sysstat</th> <th runat="server">indexdel</th> <th runat="server">refdate</th> <th runat="server">version</th> <th runat="server">deltrig</th> <th runat="server">instrig</th> <th runat="server">updtrig</th> <th runat="server">seltrig</th> <th runat="server">category</th> <th runat="server">cache</th> </tr> <tr id="itemPlaceholder" runat="server"> </tr> </table> </td> </tr> <tr runat="server"> <td runat="server" style="text-align: center;background-color: #CCCCCC;font-family: Verdana, Arial, Helvetica, sans-serif;color: #000000;"></td> </tr> </table> </LayoutTemplate> <SelectedItemTemplate> <tr style="background-color:#ff0000;font-weight: bold;color: grey;"> <td><asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' /></td> <td><asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' /></td> <td><asp:Label ID="xtypeLabel" runat="server" Text='<%# Eval("xtype") %>' /></td> <td><asp:Label ID="uidLabel" runat="server" Text='<%# Eval("uid") %>' /></td> <td><asp:Label ID="infoLabel" runat="server" Text='<%# Eval("info") %>' /></td> <td><asp:Label ID="statusLabel" runat="server" Text='<%# Eval("status") %>' /></td> <td><asp:Label ID="base_schema_verLabel" runat="server" Text='<%# Eval("base_schema_ver") %>' /></td> <td><asp:Label ID="replinfoLabel" runat="server" Text='<%# Eval("replinfo") %>' /></td> <td><asp:Label ID="parent_objLabel" runat="server" Text='<%# Eval("parent_obj") %>' /></td> <td><asp:Label ID="crdateLabel" runat="server" Text='<%# Eval("crdate") %>' /></td> <td><asp:Label ID="ftcatidLabel" runat="server" Text='<%# Eval("ftcatid") %>' /></td> <td><asp:Label ID="schema_verLabel" runat="server" Text='<%# Eval("schema_ver") %>' /></td> <td><asp:Label ID="stats_schema_verLabel" runat="server" Text='<%# Eval("stats_schema_ver") %>' /></td> <td><asp:Label ID="typeLabel" runat="server" Text='<%# Eval("type") %>' /></td> <td><asp:Label ID="userstatLabel" runat="server" Text='<%# Eval("userstat") %>' /></td> <td><asp:Label ID="sysstatLabel" runat="server" Text='<%# Eval("sysstat") %>' /></td> <td><asp:Label ID="indexdelLabel" runat="server" Text='<%# Eval("indexdel") %>' /></td> <td><asp:Label ID="refdateLabel" runat="server" Text='<%# Eval("refdate") %>' /></td> <td><asp:Label ID="versionLabel" runat="server" Text='<%# Eval("version") %>' /></td> <td><asp:Label ID="deltrigLabel" runat="server" Text='<%# Eval("deltrig") %>' /></td> <td><asp:Label ID="instrigLabel" runat="server" Text='<%# Eval("instrig") %>' /></td> <td><asp:Label ID="updtrigLabel" runat="server" Text='<%# Eval("updtrig") %>' /></td> <td><asp:Label ID="seltrigLabel" runat="server" Text='<%# Eval("seltrig") %>' /></td> <td><asp:Label ID="categoryLabel" runat="server" Text='<%# Eval("category") %>' /></td> <td><asp:Label ID="cacheLabel" runat="server" Text='<%# Eval("cache") %>' /></td> </tr> </SelectedItemTemplate> </asp:ListView>
Die Daten für die Tabelle werden jeweils aus Connectionstrings in der web.config geladen.
Ich möchte jetzt bei der generierten Tabelle bei einem Mausklick im Webbrowser auf eine Reihe die entsprechende Reihe hervorheben, in dem idealerweise dann die Hintergrundfarbe für eben diese angepasst wird.
Mein erster Versuch wurde leider eine Hover-Funktion für ein GridView :D die aber leider auch nicht für Listviews übernommen werden kann bzw. (meines Wissens) so umgebogen werden kann, dass dies per Mausklick passiert:
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#00ffff'"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='white'"); } }
Wenn ich die void auf ein listView loslassen möchte, meldet mir Visual Studio bei Row einen unerklärlichen Fehler.
Laut dieser Anleitung tut sich auch nichts bei mir, dort werden für die Bind Funktion ja auch die Daten neu geladen, die ja an sich schon in der Tabelle stehen.
Wie realisiere ich möglichst ohne Scripts eine solche Hervorhebung?
Antworten
-
Okay - das Auswählen von Zeilen geht definitiv nur mit Links -strikt nach Anleitung geht alles - ich hatte es versucht ohne Links hinzubekommen, was warum auch immer nicht möglich ist (bzw. nur mit Aufwand und "unsichtbarem Link" über der gesamten Spalte)...
also für die die vor dem gleichen Problem stehen:
In den Tabellen eine Spalte mit Links machen, die jeweils das "select"-event auslösen, dann mitprotected void ListView1_SelectedIndexChanging(object sender, ListViewSelectEventArgs e) { ListView1.SelectedIndex = e.NewSelectedIndex; string selected = ListView1.SelectedDataKey.Value.ToString(); //string selected = ListView1.DataKeys[e.NewSelectedIndex].Value.ToString(); Label1.Text = "Selected ID: " + selected; ListView1.DataBind(); }
in der Codebehind abhandeln (DataBind nur, wenn die ASPX über Connectionstrings etc schon alles Datenmäßíg abruft - ansonsten Prozedur zum abrufen einbinden)
Alle Antworten
-
Okay - das Auswählen von Zeilen geht definitiv nur mit Links -strikt nach Anleitung geht alles - ich hatte es versucht ohne Links hinzubekommen, was warum auch immer nicht möglich ist (bzw. nur mit Aufwand und "unsichtbarem Link" über der gesamten Spalte)...
also für die die vor dem gleichen Problem stehen:
In den Tabellen eine Spalte mit Links machen, die jeweils das "select"-event auslösen, dann mitprotected void ListView1_SelectedIndexChanging(object sender, ListViewSelectEventArgs e) { ListView1.SelectedIndex = e.NewSelectedIndex; string selected = ListView1.SelectedDataKey.Value.ToString(); //string selected = ListView1.DataKeys[e.NewSelectedIndex].Value.ToString(); Label1.Text = "Selected ID: " + selected; ListView1.DataBind(); }
in der Codebehind abhandeln (DataBind nur, wenn die ASPX über Connectionstrings etc schon alles Datenmäßíg abruft - ansonsten Prozedur zum abrufen einbinden) -
Hi,
Hast Du eigentlich Dein Problem gelöst ?
Funktioniert jetzt alles?
Viele Grüße,
Ciprian
Ciprian Bogdan, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.