J'ai essayé tout ce que je sais pour changer la couleur d'une rangée dans un contrôle asp: repeater. Ce que j'essaie de faire est la suivante: Basé sur une valeur, je veux être en mesure de définir la couleur d'un enregistrement dans le contrôle du répéteur. J'ai essayé les balises DIV, je ne peux pas le faire fonctionner. Comment je m'y prend? ThaksContrôle de répéteur ASP.Net
Répondre
Essayez quelque chose comme cela dans le code derrière
protected void rpt_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.DataItem != null)
{
string color = (string)DataBinder.Eval(e.Item.DataItem, "RowColor");
HtmlTableRow rowToColor = (HtmlTableRow)e.Item.FindControl("Row");
rowToColor.Attributes.CssStyle.Add("background-color", color);
}
}
et quelque chose comme ça dans la page ASPX
<asp:Repeater ID="rpt" runat="server" OnItemDataBound="rpt_OnItemDataBound">
<ItemTemplate>
<tr id="Row" runat="server">
<td>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
Vous pourriez résoudre ce beaucoup de façons différentes et selon ce que votre répéteur doit ressembler ou les données que vous envoyez à il n'y a pas de meilleure réponse. Voici une solution de contournement qui va évaluer les données et les comparer pour la réponse de couleur appropriée.
Dans le modèle d'article du répéteur l'entourer d'un div.
<div style="background-color:<%# GetBG((string)(DataBinder.Eval(Container.DataItem,"DataField")))%>">
et dans le code ont derrière une fonction de décider
public string GetBG(string demo)
{
if (demo == "TestData2")
return "yellow";
return "Green";
}
Ce n'est pas une très bonne façon de le faire et tout à fait inutile. Une fonction onDataBind serait la meilleure façon de procéder, je voulais juste montrer une autre façon d'accomplir cette tâche.
Utilisez le <% #%> syntaxe de liaison de données dans le ItemTemplate pour faire la mise en forme conditionnelle:
<asp:Repeater runat="server" ID="rpt">
<ItemTemplate>
<div class="<%# Container.ItemIndex % 2 ? "even" : "odd" %>">
</div>
<div class="<%# Eval("PropertyOfDataSource") %>">
</div>
</ItemTemplate>
</asp:Repeater>
- 1. Répéteur ASP.NET
- 2. Passing Container.Eval à (Html.ReaderPartial) dans le contrôle de répéteur ASP.NET
- 3. Obtenir l'index actuel dans un contrôle répéteur ASP.Net 2.0
- 4. Basculer les lignes créées à l'aide du contrôle répéteur ASP.NET
- 5. RadioButton Répéteur asp.net
- 6. Création dynamique d'un contrôle de répéteur imbriqué
- 7. tête d'arrêt affichage sur répéteur asp.net
- 8. JQuery DIalog et répéteur ASP.NET
- 9. DataGrid ASP.NET dans un répéteur
- 10. GridView imbriqué dans le contrôle du répéteur
- 11. Contrôle répéteur pour agréger des données?
- 12. Trouver un contrôle dans ASP: Répéteur
- 13. Commandes de serveur dans un répéteur asp.net
- 14. Envoyer chaîne avec QueryString dans le contrôle de répéteur dans ASP.net
- 15. Comment lier un contrôle de répéteur ASP.NET à un IList <String>?
- 16. ASP.NET Trouver la valeur DropDown à l'intérieur du contrôle de répéteur
- 17. Création de liens dynamiques avec le contrôle Répéteur
- 18. Comment puis-je configurer le contrôle des valeurs d'un contrôle répéteur indépendamment de leurs données
- 19. Répéteur imbriqué ASP.NET Accès aux éléments
- 20. élément ASP.NET répéteur dans une sous-classe
- 21. L'utilisation d'un répéteur ASP.NET avec un tableau?
- 22. ASP.Net: Comment faire une pagination avec un répéteur?
- 23. ASP.NET: Lier une valeur à un contrôle utilisateur personnalisé dans un répéteur
- 24. Ajouter dynamiquement des contrôles dans le répéteur ASP.NET
- 25. ASP.NET Modifier l'ID de contrôle de liste déroulante à l'intérieur de l'élément de répéteur de façon dynamique
- 26. Charger un contrôle dans l'événement itemdatabound d'un répéteur
- 27. Asp.Net liant des données SQL à un répéteur?
- 28. répéteur à l'intérieur du contrôle dynamique perdant des articles
- 29. Problème de répéteur ASP.NET (+ question sur les meilleures pratiques)
- 30. Répéteur ItemDataBound Complete Trigger
Partagez votre code? Il y a plusieurs façons de le faire, et nous devons savoir comment votre code actuel s'accorde ou si nous ne faisons que deviner. Vous pourriez obtenir quelque chose qui fonctionne, mais il pourrait aussi y avoir un meilleur moyen. –
Stackoverflow tronque le code lorsque j'essaie de le coller. Le code est juste le contrôle de base du répéteur, rien d'extraordinaire. –
Simplifiez le code pour faire passer le message sans poster le message –