0

私はデータリストを使用しており、現在作業しているこの特定のデータリストはデータベースからデータを取得します。データベース内の特定のPCのドライブを照会し、その合計容量と空き容量を表示します。データリストの行は次のようになります。

 Drive        Total       Free       Label
 C:/          84.3        22.2        NFTS
 D:/          64.2         21.3       NFTS
 E:/          22.2         11.1       DVD

要件は、空き領域が10%以下の場合、行のフォントが赤になり、そうでない場合は緑になります。これが私のコードです:

<asp:DataList ID="DataList1" runat="server" BackColor="#FFFF99" 
  BorderColor="Black" BorderWidth="2px" CellPadding="4" Font-Bold="False" 
  Font-Italic="False" Font-Overline="False" Font-Size="Small" Font-Strikeout="False" 
  Font-Underline="False" RepeatDirection="Horizontal" style="z-index: 1; left: 421px; top: 137px; position: absolute; height: 132px; width: 495px" 
  ForeColor="#333333" GridLines="Vertical" DataSourceID="DriveInfo">

    <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

    <AlternatingItemStyle BackColor="#FFFBD6" Font-Bold="False" Font-Italic="False" 
    Font-Overline="False" Font-Strikeout="False" Font-Underline="False" />

    <ItemStyle BackColor="#FFFBD6" Font-Bold="False" Font-Italic="False" 
    Font-Overline="False" Font-Strikeout="False" Font-Underline="False" ForeColor="#333333" />

    <SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
    <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

    <ItemTemplate>
        DriveName:
        <asp:Label ID="DriveNameLabel" runat="server" style="font-weight: 700" Text='<%# Eval("DriveName") %>' />
        <br />

        Total: <b>
        <asp:Label ID="TotalLabel" runat="server" Text='<%# Eval("Total") %>' />
        &nbsp;GB</b><br />

        Free: <b>
        <asp:Label ID="FreeLabel" runat="server" Text='<%# Eval("Free") %>' />
        &nbsp;GB</b><br />

        Label:
        <asp:Label ID="LabelLabel" runat="server" style="font-weight: 700" Text='<%# Eval("Label") %>' />

        <br />
        <br />
    </ItemTemplate>
</asp:DataList>
4

1 に答える 1

2

asp:labelのCssClass属性を次のように設定できます。

<asp:Label ID="FreeLabel" runat="server" Text='<%# Eval("Free") %>' CssClass='<%# float.Parse(Eval("Free")) / float.Parse(Eval("Total")) < 0.10 ? "red" : "" %>' />

また、cssクラスも必要です。

.red {
  color: red;
}
于 2012-05-17T07:40:18.417 に答える