J'ai un contrôle répéteur:Comment puis-je définir une couleur de ligne de table dans mon répéteur en fonction des valeurs de données liées à cette ligne dans ASP.NET?
<table style="width: 100%">
<asp:Repeater runat="server" ID="rptOptions" OnItemDataBound="rptOptions_ItemDataBound">
<HeaderTemplate>
<tr>
<td class="GridHeader">Account</td>
<td class="GridHeader">Margin</td>
<td class="GridHeader">Symbol</td>
<td class="GridHeader">Price</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionAccount"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionMargin"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionSymbol"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionPrice"></asp:Label></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
Et la méthode de code-behind databound suivant:
protected void rptOptions_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Option rowOption = (Option)e.Item.DataItem;
((Label)e.Item.FindControl("lblOptionAccount")).Text = rowOption.Account;
((Label)e.Item.FindControl("lblOptionMargin")).Text = rowOption.Margin ? "Y" : "N";
((Label)e.Item.FindControl("lblOptionSymbol")).Text = rowOption.Symbol;
((Label)e.Item.FindControl("lblOptionPrice")).Text = rowOption.Price.ToString("C", currencyFormat);
}
}
Il y a plus de colonnes dans cette grille, mais j'ai amincie vers le bas juste pour la question . Maintenant, ce que je voudrais faire est de changer la couleur de fond de tr en fonction du montant du prix. Si c'est dans des niveaux différents, je voudrais changer la couleur d'arrière-plan des lignes en conséquence.
Est-ce que je dois faire ceci avec javascript ou est-ce que je peux accéder aux rangées de la table dans le code-behind pour définir cette couleur?
Salut Bruce, à l'avenir, vous pouvez effectivement modifier d'autres réponses pour corriger des choses comme manquantes CSS, ou ajouter un commentaire à leur réponse expliquant le problème. – Tass