2012-06-06 41 views
0

我有看上去類似值的列表視圖:.NET ListView的細胞特性

1 0 0 0 1 
0 1 1 1 0 
1 0 1 1 1 
0 0 1 0 1 

其中每個條目是在ListView一個小區/列。

如何執行檢查,如果單元格的值爲1,然後將列背景顏色更改爲不同的東西?

回答

2

Eval使用和三元運算符:

<style type="text/css"> 
    .Value1 
    { 
     font: 10pt Verdana; 
     font-weight:700; 
     color: Green; 
    } 

    .NotValue1 
    { 
     font: 15pt Times; 
     font-weight:250; 
     color: Blue; 
    } 
</style> 

<asp:ListView runat="server" ID="ListView1" > 
    <LayoutTemplate> 
    <table runat="server" id="table1" > 
     <tr runat="server" id="itemPlaceholder" ></tr> 
    </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
    <tr runat="server"> 
     <td runat="server" CssClass='<%# Convert.ToInt32(Eval("Value"))==1 ? "Value1" : "NotValue1" %>'> 
     <%-- Data-bound content. --%> 
     <asp:Label ID="LblValue" runat="server" 
      Text='<%#Eval("Value") %>' /> 
     </td> 
    </tr> 
    </ItemTemplate> 
</asp:ListView> 

(未測試的)

+0

我發現了:操作員 '==' 不能被施加到型 '對象' 和從 'INT' 的操作數以上 –

+0

@sd_dracula:然後使用['Convert.ToInt32'](http://msdn.microsoft.com/en-us/library/23511zys.aspx)(如果它是一個'int')來代替。相應地編輯我的答案。 –

+0

謝謝我已經運行,但我沒有看到文本格式的任何更改。我的: 是在aspx的之內,那好吧? –