problemas em dropdownlist
Pessoal, estou com o seguinte problema:
Tenho uma tela no qual eu carrego um dropdownlist com dados pré-determinados na minha consulta, porém, eu tenho que
destacar alguns dados com uma cor diferente. Eu conseguir fazer isso, porém no momento em que é dado um postback na tela
ele perde o style.
Alguém saberia me dizer como eu faço pra manter o style do item do dropdownlist?
Abaixo segue o codigo.
protected void ddlEspecialidade_DataBound(object sender, EventArgs e)
{
for (int i = 0; i < ddlEspecialidade.Items.Count; i++)
{
if ((ddlEspecialidade.Items[i].Value.Equals(2120)) || (ddlEspecialidade.Items[i].Value.Equals(2121)) || (ddlEspecialidade.Items[i].Value.Equals(2320)) ||
(ddlEspecialidade.Items[i].Value.Equals(2420)) || (ddlEspecialidade.Items[i].Value.Equals(2510)) || (ddlEspecialidade.Items[i].Value.Equals(2620)) ||
(ddlEspecialidade.Items[i].Value.Equals(2820)) || (ddlEspecialidade.Items[i].Value.Equals(3220)) || (ddlEspecialidade.Items[i].Value.Equals(3320)) ||
(ddlEspecialidade.Items[i].Value.Equals(3420)) || (ddlEspecialidade.Items[i].Value.Equals(3620)) || (ddlEspecialidade.Items[i].Value.Equals(3520)))
{
ddlEspecialidade.Items[i].Attributes.Add(Style, color:blue);
}
}
}
Tenho uma tela no qual eu carrego um dropdownlist com dados pré-determinados na minha consulta, porém, eu tenho que
destacar alguns dados com uma cor diferente. Eu conseguir fazer isso, porém no momento em que é dado um postback na tela
ele perde o style.
Alguém saberia me dizer como eu faço pra manter o style do item do dropdownlist?
Abaixo segue o codigo.
protected void ddlEspecialidade_DataBound(object sender, EventArgs e)
{
for (int i = 0; i < ddlEspecialidade.Items.Count; i++)
{
if ((ddlEspecialidade.Items[i].Value.Equals(2120)) || (ddlEspecialidade.Items[i].Value.Equals(2121)) || (ddlEspecialidade.Items[i].Value.Equals(2320)) ||
(ddlEspecialidade.Items[i].Value.Equals(2420)) || (ddlEspecialidade.Items[i].Value.Equals(2510)) || (ddlEspecialidade.Items[i].Value.Equals(2620)) ||
(ddlEspecialidade.Items[i].Value.Equals(2820)) || (ddlEspecialidade.Items[i].Value.Equals(3220)) || (ddlEspecialidade.Items[i].Value.Equals(3320)) ||
(ddlEspecialidade.Items[i].Value.Equals(3420)) || (ddlEspecialidade.Items[i].Value.Equals(3620)) || (ddlEspecialidade.Items[i].Value.Equals(3520)))
{
ddlEspecialidade.Items[i].Attributes.Add(Style, color:blue);
}
}
}
Junior_jaco
Curtidas 0
Respostas
Joel Rodrigues
28/03/2012
Você precisará atualizar o DropDownList, por exemplo, no evento Load da página.
DropDownList1.DataBind();
Outra forma seria colocar esse código no próprio evento Load, assim, toda vez que a página fosse atualizada, o estilo seria aplicado.
Não sei se vai lhe servir, mas você pode pesquisar sobre as CSS3. Existem novos seletores por atributos, você pode aplicar um estilo fixo à página que altere apenas os itens do DropDownlList que atendam a sua necessidade. Eu particularmente nunca usei, mas talvez seja interessante pra você.
Boa sorte.
DropDownList1.DataBind();
Outra forma seria colocar esse código no próprio evento Load, assim, toda vez que a página fosse atualizada, o estilo seria aplicado.
Não sei se vai lhe servir, mas você pode pesquisar sobre as CSS3. Existem novos seletores por atributos, você pode aplicar um estilo fixo à página que altere apenas os itens do DropDownlList que atendam a sua necessidade. Eu particularmente nunca usei, mas talvez seja interessante pra você.
Boa sorte.
GOSTEI 0
Joel Rodrigues
28/03/2012
Bem, visualizando o código no Chrome, percebi que os elementos <asp:ListItem> são convertidos para <option>. Assim, testei o seguinte css que funcionou:
<style type=text/css>
option[value=1]{color:Yellow}
</style>
Aqui eu altero a cor dos itens cujo Value é 1.
<style type=text/css>
option[value=1]{color:Yellow}
</style>
Aqui eu altero a cor dos itens cujo Value é 1.
GOSTEI 0
Junior_jaco
28/03/2012
Você precisará atualizar o DropDownList, por exemplo, no evento Load da página.
DropDownList1.DataBind();
Outra forma seria colocar esse código no próprio evento Load, assim, toda vez que a página fosse atualizada, o estilo seria aplicado.
Não sei se vai lhe servir, mas você pode pesquisar sobre as CSS3. Existem novos seletores por atributos, você pode aplicar um estilo fixo à página que altere apenas os itens do DropDownlList que atendam a sua necessidade. Eu particularmente nunca usei, mas talvez seja interessante pra você.
Boa sorte.
DropDownList1.DataBind();
Outra forma seria colocar esse código no próprio evento Load, assim, toda vez que a página fosse atualizada, o estilo seria aplicado.
Não sei se vai lhe servir, mas você pode pesquisar sobre as CSS3. Existem novos seletores por atributos, você pode aplicar um estilo fixo à página que altere apenas os itens do DropDownlList que atendam a sua necessidade. Eu particularmente nunca usei, mas talvez seja interessante pra você.
Boa sorte.
Valeu cara... Consegui dando o bind no dropdown.
GOSTEI 0