日期:2014-05-17  浏览次数:20426 次

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&nbs