problemas em dropdownlist

28/03/2012

0

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);
}
}
}
Junior_jaco

Junior_jaco

Responder

Posts

28/03/2012

Joel Rodrigues

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.
Responder

28/03/2012

Joel Rodrigues

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.
Responder

28/03/2012

Junior_jaco

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.



Valeu cara... Consegui dando o bind no dropdown.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar