下拉列表不突出显示给定值

时间:2015-10-07 10:40:28

标签: c# .net

我有一个下拉列表,我想从中突出显示一个项目。我已将条件正确作为我的标准。但它没有突出显示给定的项目,而是正常显示为其他项目。

 DataTable dtt = new DataTable();
                dtt.Load(cmd.ExecuteReader());
                ddlCompanyName.DataSource = dtt;
                ddlCompanyName.DataTextField = "COMPANYNAME";
                ddlCompanyName.DataValueField = "COMPANYID";
                foreach (ListItem item in ddlCompanyName.Items)
                {

                    if (item.Text == compidd)
                    {
                        item.Attributes.Add("style", "background-color:#3399FF;color:white;font-weight:bold;");
                    }
                }
                ddlCompanyName.DataBind();
                ddlCompanyName.Items.Insert(0, new ListItem("--Select Name--"));
  

Compidd(string)指定了要在下拉列表中突出显示的项目

2 个答案:

答案 0 :(得分:2)

在循环项目之前必须执行ddlCompanyName.DataBind();

ddlCompanyName.DataBind();
foreach (ListItem item in ddlCompanyName.Items)
{
    if (item.Text == compidd)
    {
        item.Attributes.Add("style", "background-color:#3399FF;color:white;font-weight:bold;");
    }
}

否则DropDownList中没有任何项目。

答案 1 :(得分:2)

您需要在循环前执行DataBind

ddlCompanyName.DataBind();
foreach (ListItem item in ddlCompanyName.Items)
{
  if (item.Text == compidd)
  {
     item.Attributes.Add("style", "background-color:#3399FF;color:white;font-weight:bold;");
  }
}

修改

要将值设置为默认值,您可以尝试这样

ddlCompanyName.SelectedValue = "The value which you want to set as default"