鹿我所录的博客

记录我在学习C#中的点点滴滴,记录下以备后来人借鉴。

 

repeater 控件中的分类显示问题

在 Repeater 控件的显示时,有时需要根据得到的数据条件,按要求显示出来。但直接在 .aspx 代码中直接操作可能比较困难。

如下面的方法可以解决这个问题

<input type="button" style="color:<%# (int)Eval("shYiJian")>0?"#FF0000":"#000000" %>" onclick='getTimu(<%#Eval("ID") %>)' value='试题编号:<%#Eval("ID") %>' />

利用这个方法,可以根据 shYiJian 字段的值作出判断,进而设定其颜色值分别为 "#FF0000" 或 "#000000" ,注意一定要加上 引号。

但是这种方法只能设置两种颜色,如果要考虑更多的颜色设置,那么用这种方法,显然有点太麻烦了。

那就用下面的方法吧。

 

    public string setcolor(string shYiJian)
    {
        int pn = int.Parse(shYiJian);
        string s = "#000000";
        if (pn == 0)
            s = "style=\"color:#0000ff\"";
        if (pn < 0)
            s = "style=\"color:#000000\"";
        if (pn > 0)
            s = "style=\"color:#ff0000\"";
        return s;
    
    }

 

借助于这个函数 在 .aspx 文件中引用这个函数就可以了

.aspx中的相关代码如下

 

 <input type="button" <%# setcolor(DataBinder.Eval(Container.DataItem, "shYiJian").ToString()) %> onclick='getTimu(<%#Eval("ID") %>)' value='试题编号:<%#Eval("ID") %>' />

 

最终结果如图所示:

 

posted on 2011-09-22 21:22  鹿我所录  阅读(344)  评论(0编辑  收藏  举报

导航