HABILITAR/VISUALIZAR VIEW

CRISTINASMELAN 16/05/2012 10:19:34
#402063
Bom dia.
é o seguinte: Tenho, em uma das telas uma multiview com 3 views e de acordo com o andamento do cadastro as viws deveriam ser [Ô]liberadas[Ô] p/ visualização/edição.

O código está assim:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim aux As String
aux = System.IO.Path.GetFileName(System.Web.HttpContext.Current.Request.Url.Query)
If aux <> [Ô][Ô] Then
aux = HttpUtility.UrlDecode(aux.Replace([Ô]?id=[Ô], [Ô][Ô]))
fmv_cadastro.DefaultMode = FormViewMode.Edit


Dim ConnString As String

Dim SQLConn As New SqlConnection() [ô]The SQL Connection
Dim st As Integer
Dim db As New DbConnect
Dim mv As MultiView
mv = fmv_cadastro.FindControl([Ô]muv_cadastro[Ô])

Dim cmd As New SqlCommand()

ConnString = db.geraConnString()
SQLConn.ConnectionString = ConnString [ô]Set the Connection String
SQLConn.Open() [ô]Open the connection

Dim dr As SqlDataReader
cmd = New SqlCommand([Ô]SELECT fk_cd_status FROM t_ocorrencia WHERE pk_nr_ocorrencia = [Ô] & aux, SQLConn)
dr = cmd.ExecuteReader()
dr.Read()

st = dr([Ô]fk_cd_status[Ô])
dr.Close()
Diagnostics.Debug.Write(st)


If st = 1 Then [ô]Registro Efetuado
mv.Views.Item(0).Visible = True AQUI é QD DA ERRO, MV APARECE COMO NOTHING SE EU USAR O BREAK POINT
mv.Views.Item(1).Visible = False
mv.Views.Item(2).Visible = False

ElseIf st = 2 Then [ô]Ocorrencia Encaminhada
mv.Views.Item(0).Visible = True
mv.Views.Item(1).Visible = True
mv.Views.Item(2).Visible = False

ElseIf st = 3 Then [ô]Processo Aberto
mv.Views.Item(0).Visible = True
mv.Views.Item(1).Visible = True
mv.Views.Item(2).Visible = True

ElseIf st = 4 Then [ô]Processo Finalizado
fmv_cadastro.DefaultMode = FormViewMode.ReadOnly

End If

Else
fmv_cadastro.DefaultMode = FormViewMode.Insert

End If


End Sub


Aparece o seguinte erro:
Referência de objeto não definida para uma instância de um objeto.
Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

Detalhes da Exceção: System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.

Erro de Origem:


Linha 204:
Linha 205: If st = 1 Then [ô]Registro Efetuado
Linha 206: [txt-color=#e80000]mv.Views.Item(0).Visible = True[/txt-color]
Linha 207: mv.Views.Item(1).Visible = False
Linha 208: mv.Views.Item(2).Visible = False


Arquivo de Origem: \\svmagbc301\sys\SCOA\Assets\FormCadastro.ascx.vb Linha: 206

----
Se alguém tiver alguma idéia, desde já agradeço.
KERPLUNK 16/05/2012 10:31:18
#402067
Estas views estão dentro de um webcomponent, certo? Vejo isso pela extensão [Ô]ascx[Ô]. Verifique se o objeto [Ô]mv[Ô] está com a tag [Ô]runat=server[Ô]. Já, se esse webcomponent está dentro de um webform, você não vai poder acessar os objetos de dentro dele(do component) à partir do form.
CRISTINASMELAN 16/05/2012 10:45:40
#402070
As views estão na multivew, que por sua vez estão no formview, todos os 3 estão com a tag runat=[Ô]server[Ô]

Em cima ali no codigo estou usando o find control para localizar a multivew do formview (mv = fmv_cadastro.FindControl([Ô]muv_cadastro[Ô])) e então apartir dai localizar as views dentro da multiview (mv.Views.Item(0).Visible = True )

Imagino que essa segunda parte, onde eu tento localizar as views da multiview, que não esteja certa. Tem algum outro comando p/ eu localizar as views??
Tópico encerrado , respostas não são mais permitidas