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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar