Ir para conteúdo

POWERED BY:

Arquivado

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

ZecaLoteiro

[Resolvido] Evento RowEditing

Recommended Posts

Boa tarde pessoal,

Tenho um problema, queria que quando um usuário editar uma linha da gridView, um derterminado campo seja automáticamente preenchido.

Ex:

 

O usuário vai editar um registro, então o nome dela já aparece num campo ReadOnly.

 

Fiz da seguinte forma....

 

Protected Sub GridView1_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
   Dim linha As GridViewRow = GridView1.Rows(e.NewEditIndex())
   DirectCast(linha.Cells(10).FindControl("TextBox3"), Label).Text = Session("userId").Replace("EAMCS\", "").ToUpper
 End Sub

 

Porém ele não acha o controle TextBox3. Este controle está no modo EDIT da grid.

Se eu substituir o TextBox3 pelo nome do controle que existe no modo ItemTemplate, aí funciona....

 

 

Alguém sabe como posso resolver este problema?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usar diretamente o nome do controle?

Mas ele está dentro de um gridView.

Consigo acessá-lo diretamente?

 

A impressão que eu tenho é que ele tenta achar o controle, ANTES de mudar o Template para EditMode, por isso acha o label,e não o textbox... :(

(DirectCast(linha.Cells(10).FindControl("TextBox3"), Textbox)

 

 

? Alguma sugestão ??

Desde já obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta

 

Ctype()

 

Tenta

 

Ctype(linha.findcontrol(textbox3),label).text = session("userid")

 

Mas usa no evento onRowDataBound

 

Pois aparentemente você quer que o nome seja exibido no momento do load dá página

 

Qq coisa e so postar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, valew...

Consegui utilizando da seguinte forma:

 

Protected Sub GridViewAtividadesSite_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridViewAtividadesSite.RowDataBound
   Try
     Dim linha As GridViewRow = e.Row
     DirectCast(linha.Cells(20).FindControl("TextBoxUser"), TextBox).Text = Session("userId").Replace("EAMCS\", "").ToUpper
   Catch ex As Exception
   End Try
 End Sub

 

Sei que não é a melhor forma, mas resolveu o problema.

 

Thanx.

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.