Ich verwende derzeit eine GridView und möchte die CssClass für die Zeile abhängig von einer Eigenschaft des Objekts festlegen an die die Reihe gebunden wird.Wie Sie den RowStyle einer GridView-Zeile abhängig von einer Eigenschaft des Objekts festlegen, an das die Zeile gebunden ist
habe ich versucht, die folgenden, aber es funktioniert nicht (siehe Kommentare):
<asp:GridView id="searchResultsGrid" runat="server" AllowPaging="true" PageSize="20" AutoGenerateColumns="false">
<!-- The following line doesn't work because apparently "Code blocks
aren't allowed in this context: -->
<RowStyle CssClass="<%#IIF(DataBinder.Eval(Container.DataItem,"NeedsAttention","red","") %>
<Columns>
<!--............-->
</Columns>
</asp:GridView>
Jetzt konnte ich einfach die RowDataBound Veranstaltung Gridhandhaben und die CSS-Klasse der Reihe dort ändern ... aber ich bin Es wird versucht, eine klare Trennung zwischen der Benutzeroberfläche und den Seiten-/Geschäftslogikschichten beizubehalten.
Ich habe keine Ahnung, wie dies zu erreichen ist und ich freue mich auf irgendwelche Vorschläge zu hören.
Danke,
-Frinny
Ja, ich dachte auch darüber nach, aber ich war nicht glücklich mit der Tatsache, dass ich dies für jedes TemplateField und BoundField in der Reihe tun müsste. Es wird peinlich sein. Vielleicht beiße ich einfach in den sauren Apfel und kümmere mich um das OnRowBound-Event. So viel, um meine Schichten getrennt zu halten. – Frinavale
Danke Jeff.So enttäuschend diese Antwort auch ist, Sie haben zumindest bestätigt, dass dies unmöglich ist. – Frinavale
Sie wetten - und es tut mir leid, die schlechten Nachrichten zu bringen. Die GridView ist was es ist und hat viele Enttäuschungen hervorgebracht; Ich versuche es zu vermeiden, wenn ich kann. Wenn seine Vorteile (wie sie sind) unwiderstehlich sind, beiße ich auch in die Kugel. –