为RadioButtonList每个项目设置ForeColor
首先对比效果:
 
样式前RadioButtonList每个项目是没有设置前景色的。现在Insus.NET改写为样式后的效果。
这个改动,都是因昨晚开发时,儿子做完作业,来到Insus.NET身旁看了屏幕上写的程序。他用手指指并问,那是什么?Insus.NET跟他说“那是让用户可以选择颜色的功能。”他听了,回答说“既然是选择颜色的,怎会每个颜色都是黑色呢?”......
现在Insus.NET分享实现的方法,其中有应用了泛型(System.Collections.Generic)。
.aspx:
<asp:RadioButtonList ID="RadioButtonListColour" runat="server" RepeatColumns="5" OnDataBound="RadioButtonListColour_DataBound"></asp:RadioButtonList>
准备数据源,是一个泛型数据集:

    {
        get
        {
            List<string> o = new List<string>();
            o.Add("Red");
            o.Add("Blue");
            o.Add("Green");
            o.Add("SkyBlue");
            o.Add("LimeGreen");
            return o;
        }
    }
把数据绑定至RadioButtonList控件上:

    {
        if (!IsPostBack)
        {
            Data_Binding();
        }
    }
    private void Data_Binding()
    {
        this.RadioButtonListColour.DataSource = Colours.Select(c => new { value = c }).ToList();
        this.RadioButtonListColour.DataTextField = "value";
        this.RadioButtonListColour.DataBind();
    }
实现OnDataBound="RadioButtonListColour_DataBound"事件:

    {
        var rbl = sender as RadioButtonList;
        foreach (ListItem li in rbl.Items)
        {
            Colours.ForEach(delegate(string s)
            {
                if (s == li.Text)
                {
                    li.Attributes.Add("style", "color:" + s);
                }
            });
        }
    }
共同学习,写下你的评论
评论加载中...
作者其他优质文章
 
                 
            

 
			 
					 
					