0

我正在使用 ListView 来显示从我的访问数据库中获取的视图数据项。这是我的列表视图代码:

<asp:ListView id="ListView2" runat="server" DataSourceID="SqlDataSource3"  EnableViewState="False">
<AlternatingItemTemplate>
    <span style="background-color: white;color: white;">
    Plant Name:
    <asp:Label id="PlantLabel" runat="server" Text='<%# Eval("Plant") %>' />
    <br />
    Department #:
    <asp:Label id="column1Label" runat="server" Text='<%# Eval("column1") %>' />
    <br />
    Department Name:
    <asp:Label id="GroupLabel" runat="server" Text='<%# Eval("Group") %>' />
    <br />
    Job Code:
    <asp:Label id="Job_CodeLabel" runat="server" Text='<%# Eval("Job_Code") %>' />
    <br />
    TWA:
    <asp:Label id="TWALabel" runat="server" Text='<%# Eval("TWA") %>' />
    <br />
    Job Classification:
    <asp:Label id="Job_ClassificationLabel" runat="server" Text='<%# Eval("Job_Classification") %>' />
    <br />
    Job Function:
    <asp:Label id="Job_FunctionLabel" runat="server" Text='<%# Eval("Job_Function") %>' />
    <br />
    Job Description:
    <asp:Label id="Job_DescriptionLabel" runat="server" Text='<%# Eval("Job_Description") %>' />

我能够在 TWA 值 >= 85 和 <90 时文本变为黄色,当 >=90 时变为红色,当其 < 85 时变为绿色。我将如何做到这一点。我正在使用 Javascript、html、asp.net (C#)。任何帮助将不胜感激。

4

1 回答 1

0

我会先为您想要的两种颜色设置一个样式,然后只需实现以下内容,OnDataBinding以防万一您可以在必要时将其重新用于其他标签:

<asp:Label id="TWALabel" runat="server" OnDataBinding="YourLabel_DataBinding" />

然后在您的 C# 代码中:

protected void YourLabel_DataBinding(object sender, System.EventArgs e)
{
    Label lbl = (Label)(sender);
    int TWA = (int)(Eval("TWA"));
    lbl.Text = TWA.ToString();
    if (TWA >= 85)
    {
        if (TWA < 90)
        {
            lbl.CssClass = "yourYellowClass";
        }
        else
        {
            lbl.CssClass = "yourRedClass";
        }
    }
    // else do nothing since below 85 just have the default as green (eg. yourGreenClass)...
}
于 2013-07-12T18:51:20.497 回答