Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ZecaLoteiro

Listar todos os controles de um FormView

Recommended Posts

Opa, salve galera, preciso obter dinamicamente os itens de um formView....

Criei a função:

 

 

Protected Sub desativaTodosControles(container As System.Web.UI.WebControls.FormView)
   For Each control As Control In container.Controls
     If TypeOf control Is TextBox Then
       DirectCast(control, TextBox).ReadOnly = True
     ElseIf TypeOf control Is CheckBox Then
       DirectCast(control, TextBox).ReadOnly = True
     ElseIf TypeOf control Is DropDownList Then
       DirectCast(control, DropDownList).Enabled = True
     End If
   Next
 End Sub

 

 

Porém a propriedade Controls parece não trazer nada... container.Controls.count é sempre = 1! :(

Alguém já utilizou algo parecido ??

 

Se eu uso

DirectCast(container.FindControl("DropDownListAtividade"), DropDownList).Enabled = False

dentro do form, ele acha o controle normal......

 

 

Desde já muito obrigado.

 

Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, salve galera, preciso obter dinamicamente os itens de um formView....

Criei a função:

 

 

Protected Sub desativaTodosControles(container As System.Web.UI.WebControls.FormView)
   For Each control As Control In container.Controls
     If TypeOf control Is TextBox Then
       DirectCast(control, TextBox).ReadOnly = True
     ElseIf TypeOf control Is CheckBox Then
       DirectCast(control, TextBox).ReadOnly = True
     ElseIf TypeOf control Is DropDownList Then
       DirectCast(control, DropDownList).Enabled = True
     End If
   Next
 End Sub

 

 

Porém a propriedade Controls parece não trazer nada... container.Controls.count é sempre = 1! :(

Alguém já utilizou algo parecido ??

 

Se eu uso

DirectCast(container.FindControl("DropDownListAtividade"), DropDownList).Enabled = False

dentro do form, ele acha o controle normal......

 

 

Desde já muito obrigado.

 

Vlw.

 

Tente verificar se não há um controle do tipo container (Panel, PlaceHolder, Table...) imediatamente dentro do FormView. Se tiver, ele conta como sendo o único controle do FormView, e os controles dentro do container extra só serão dele.

Dica: Tente colocar um BreakPoint no For Each, execute e coloque o mouse sobre o nome do FormView para ver todas as propriedades. Vá na propriedade Controls e veja qual o tipo do controle que ele está reconhecendo (já que você falou que o Controls.Count dá sempre 1).

 

Espero ter ajudado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Tente verificar se não há um controle do tipo container (Panel, PlaceHolder, Table...) imediatamente dentro do FormView. Se tiver, ele conta como sendo o único controle do FormView, e os controles dentro do container extra só serão dele.

Dica: Tente colocar um BreakPoint no For Each, execute e coloque o mouse sobre o nome do FormView para ver todas as propriedades. Vá na propriedade Controls e veja qual o tipo do controle que ele está reconhecendo (já que você falou que o Controls.Count dá sempre 1).

 

Espero ter ajudado :)

 

Opa, muito obrigado pela força... não identifiquei nenhum container adicional além dos normais de um FormView (EditTemplate, ItemTemplate)...

screenshot072o.png

Mas pensando no que você disse... alterei o código e tentei:

For Each control as Control In container.Controls(0).Controls...

Agora ele me retornou 3 itens...(tenho mais que 5 textBoxs...) também não funcionou....

 

Segue alguns prints...

screenshot073c.png

A intenção é criar um método genérico, que sempre que passado um container (FormView, Panel, Div) ele desabilite todos os controles (possíveis)

 

 

Valew pela força ae...

Se souber como me ajudar....

Vlwww....!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.