读书人

repeater判断某行的某列的值达到一个条

发布时间: 2013-11-27 21:59:41 作者: rapoo

repeater判断某行的某列的值达到一个条件的时候改变该行的背景色。。急
如题:
想实现如下效果:
repeater判断某行的某列的值达到一个条件的时分改变该行的背景色。
当小于0是改变背景颜色。 急呀 repeater asp.net
[解决办法]
三元表达式,自己搜搜就知道了
[解决办法]
在绑定的时候多绑定一个参数,在ITEMCOMMAND的循环中判断数值,然后动态追加HTML标记就行
protected string temp;
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if()

else

}
[解决办法]
首先来说 既然是表格的形式了 用GridView比较好..控制方便

如果是GridView

那么2个办法 第一


g1.datascore=xxx;
g1.databind();
for int i=0 i<g1.rows.count i++
var html=g1.rows[i].cells[3].text;
if(html=="-1")
//正行
g1.rows[i].backgroundcolor=color.red;
//单元格
g1.rows[[i].cells[3].backgoundcolor=color.red;


第二种么 就是直接的三元表达式了
假设你循环出来的tr
那么就是

<tr style='color:<%#Eval("xx").tostring()=="-1"?"red":""%>'


手写的 但是就是这个意思 希望楼主懂得
[解决办法]
 // 后台
public string SetColor(int score)
{
return score < 0 ? "color:black" : "color:white";
}

//前台绑定
style="setColor(<%#Eval('score'))"

[解决办法]
前台
 <asp:Repeater ID="repeater" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr style="color:<%#Convert.ToInt32((Container.DataItem))==-1?"Red":"Blue" %>;"><td><%# (Container.DataItem) %></td></tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>


后台:
 protected void Page_Load(object sender, EventArgs e)
{
List<int> list = new List<int>();
list.Add(0);
list.Add(0);
list.Add(0);
list.Add(-1);

repeater.DataSource = list;
repeater.DataBind();

}

[解决办法]
<td style='<%#Eval("字段名").ToString()=="-1"?"background-color:#000;color:#fff":""%>'>
-1
</td>

读书人网 >asp.net

热点推荐