首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

repeater判断某行的某列的值达到一个条件的时分改变该行的背景色。

2013-11-27 
repeater判断某行的某列的值达到一个条件的时候改变该行的背景色。。急如题:想实现如下效果:当小于0是改变背

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>

热点排行