最近我在研究ASP.NET中,发现在对模版列进行输出时,可以这样做。有的时候要对模版列的某些输出进行格式化输出,比如
Quarter P & L Statement Q1 2001
Revenue:
450391000
Profit:
102200111
Q2 2001
Revenue:
391000
Profit:
-154950
Q3 2001
Revenue:
-150938000
Profit:
-902200
这个表里,如果要对Revenue,profit为负数时,予以红色显示,可以这样做:
<asp:datagrid runat="server" AutoGenerateColumns="False"> <Columns> <asp:BoundColumn HeaderText="Quarter" DataField="Quarter" /> <asp:TemplateColumn HeaderText="P & L Statement"> <ItemTemplate> <table border="0"> <tr> <td align="right"><b>Revenue:</b></td> <td><%# MakeNegRed(DataBinder.Eval(Container.DataItem, "Revenue")) %></td> </tr> <tr> <td align="right"><b>Profit:</b></td> <td><%# MakeNegRed(DataBinder.Eval(Container.DataItem, "Profit")) %></td> </tr> </table> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:datagrid>
其中,MakeNegRed是个函数,可以这样写,返回的是HTML。
Function MakeNegRed(input as String) as String 'See if the number is less than 0 If Int32.Parse(input) < 0 then Return "<font color=""red"">" & input & "</font>" Else Return input End If End Function
哈哈,这样就达到效果拉。