【问题标题】:changing list properties (back color, underling, text size etc)更改列表属性(背景颜色、下划线、文本大小等)
【发布时间】:2015-06-09 17:26:22
【问题描述】:

当列表项被选中时,我正在尝试更改列表框中的文本属性。目前,如果我检查一个项目,它将在标签中打印一条消息,因此至少它会注册一个选择。关于如何更改文本属性的任何想法,即如果选择了一个项目,然后将所选项目上的文本颜色从默认黑色更改为红色?

for (int i = 0; i < checklist.Items.Count; i++)
    {
        if (checkist.Items[i].Selected)
        {
            lbltest.Text = "yayee";
            //checklist.Items[i].Attributes.CssStyle(); maybee ??
        }
    }

【问题讨论】:

标签: c# asp.net listboxitem


【解决方案1】:

因为CheckboxList.Items 是ListItems 的集合,我认为最好的办法是使用CssStyle 来添加单独的样式属性。

for (int i = 0; i < checklist.Items.Count; i++)
{
    if (checkist.Items[i].Selected)
    {
        checklist.Items[i].Attributes.CssStyle.Add("color", "red");         
    }
}

可以以类似的方式进行任何其他修改,例如下划线或粗体。你只需要使用标准的 CSS:

// Bold
checklist.Items[i].Attributes.CssStyle.Add("font-weight", "bold");  

// Underline
checklist.Items[i].Attributes.CssStyle.Add("text-decoration", "underline");  

【讨论】:

  • 文档显示可以为整个列表更改清单属性 - checklist.Font....;但它不允许更改单个项目,例如 checklist.items[i].font...
  • @ArvidBoome 我不确定我是否理解。我发布的更改文本颜色的示例到底有什么问题?
  • 对不起,我试过它说...System.Web.UI.WebControls.ListItem 不包含“ForeColor”的定义
  • @ArvidBoome 啊,我现在明白了。假设Items 是Checkbox 的集合是我的错误。我会寻找更新的解决方案
  • 如果可以像这样更改字体属性的任何想法。例如如果我想给它加下划线还是加粗?
【解决方案2】:

更简单快捷的方法是在客户端使用 java 脚本,您可以使用简单的 jQuery 函数。

$("#checklistId > checkbox").change(function(){
    if($(this).is(":checked")) {
         //Add the style
    }
    else {
        //Add the unchecked style
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 2018-12-25
    • 1970-01-01
    相关资源
    最近更新 更多