Passare dati da GridView a TextBox
Simone
Simone non è online. Ultima attività: 04/05/2009 17.01.13Simone
il 31 ottobre 2008 alle 09.45
13 messaggi dal 07 ottobre 2008
Ciao a tutti,

Sto utilizzando ASP.NET (code behind VB.NET).
Ho realizzato una Grdiview che viene popolata da VB (DBAccess - OleDBDataAdapter).
Ha questa Griview ho aggiunto come ItemTemplate un tasto delete ed un tasto Edit.
Il tasto delete lo richiamo in VB con:
If e.CommandName = "DeleteRow" Then
...cancella record...
e fin qui tutto ok.

Premedo il tasto Edit dovrei passare i dati della riga selezionata a delle TexTBox in un'altra pagina.
Il problema nasce quando vado a richiamare da VB l'evento EditRow:
If e.CommandName = "EditRow" Then
..
End if

Non saprei come fare...qualcuno potrebbe aiutarmi?
Io ho provato a mettere:
Try
TextBox1.Text = GridView1.SelectedRow.Cells(1).Text()
Catch
End Try

..ma non succede niente...
Grazie mille in anticipo
Microsoft Most Valuable Professional
Re: Passare dati da GridView a TextBox
Daniele Bochicchio
Daniele Bochicchio non è online. Ultima attività: 03/07/2009 15.37.56Daniele Bochicchio Top Poster
il 5 novembre 2008 alle 08.59
Simone wrote:
Io ho provato a mettere:
Try
TextBox1.Text = GridView1.SelectedRow.Cells(1).Text()
Catch
End Try

devi recuperare il controllo e farne il casting. una roba tipo TextBox1.Text =
DirectCast(GridView1.SelectedRow.Cells(1).FindControl("mycontrol"), TipoControllo).Text()
dove TipoControllo è il tipo del controllo contenuto nell'item template con ID "mycontrol".

Daniele Bochicchio
ASP.NET
.NET Framework
LINQ
Silverlight
Re: Passare dati da GridView a TextBox
Simone
Simone non è online. Ultima attività: 04/05/2009 17.01.13Simone
il 5 novembre 2008 alle 12.13
13 messaggi dal 07 ottobre 2008
Ciao Daniele,

Grazie mille per la risposta.
Quel problema ero riuscito a risolverlo utilizzando questo codice:
TextBox1.Text = row.Cells(2).Text

Ora il mio problema è che questa Grdiview quando si preme il pulsante EDIT (che è all'interno di un itemtemplate) dovrebbe passarmi il valore della cella in una textbox che si trova su un'altra pagina.
Ho provato tutto Session, Querystring, HTTPrequest, ecc...ma niente...

Sul sito msdn della microsoft c'è una spiegazione per passare valori tra pagine ASP.
Il problema è che poi nellla pagina di Microsoft c'è una nota che dice:

"The FindControl method finds controls in the current naming container. If the control you are looking for is inside another control (typically, inside a template), you must first get a reference to the container, and then search the container to find the control that you want to get".

Io appunto ho il tasto edit all'interno di un template....che posso fare?

Questo è il codice che sto usando sulla pagina dove c'è la Gridview:
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GridView1.RowCommand

If e.CommandName = "DeleteRow" Then

Dim ID As Integer = Convert.ToInt32(e.CommandArgument)
Dim strConnection As String = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=c:\My Documents\Database CV\CV.mdb"
Dim conn2 = New OleDbConnection(strConnection)
conn2.Open()

Dim cmdDelete As New OleDbCommand("delete from CV where id=@id", conn2)
cmdDelete.Parameters.Add(New OleDbParameter("@id", SqlDbType.Int))
cmdDelete.Parameters("@id").Value = ID

Dim dr As OleDbDataReader
dr = cmdDelete.ExecuteReader()

dr.Read()

Dim GridView1 As New GridView
GridView1.DataSource = dr

GridView1.DataBind()

conn2.Close()
Response.Redirect("Admin.aspx")

Else

If e.CommandName = "EditRow" Then

Dim index As Integer = Convert.ToInt32(e.CommandArgument)
Dim row As GridViewRow = GridView1.Rows(index)

Try

TextBox1.Text = row.Cells(3).Text

'con questo codice me lo passa in una textbox nella stessa pagina....ma non saprei come passarlo in una textbox esterna...

Catch
End Try


End If

End If

End Sub

Grazie mille
Ciao
Simone
Microsoft Most Valuable Professional
Re: Passare dati da GridView a TextBox
Daniele Bochicchio
Daniele Bochicchio non è online. Ultima attività: 03/07/2009 15.37.56Daniele Bochicchio Top Poster
il 5 novembre 2008 alle 13.32
Simone wrote:
Ciao Daniele,

Grazie mille per la risposta.
Quel problema ero riuscito a risolverlo utilizzando questo codice: TextBox1.Text = row.Cells(2).Text

Ora il mio problema è che questa Grdiview quando si preme il pulsante EDIT (che è all'interno di un itemtemplate) dovrebbe passarmi il valore della cella in una textbox che si trova su un'altra pagina. Ho provato tutto Session, Querystring, HTTPrequest, ecc...ma niente...

nella pagina origante, metti:
Response.Redirect("edit.aspx?id=" & row.Cells(2).Text)

nella pagina che riceve, nel Page_Load fai

if not string.IsNullOrEmpty(Request.QueryString("id")) then     MyTextbox.Text = Request.QueryString("id")
end if


e così ci sei.

Daniele Bochicchio
ASP.NET
.NET Framework
LINQ
Silverlight
Re: Passare dati da GridView a TextBox
Simone
Simone non è online. Ultima attività: 04/05/2009 17.01.13Simone
il 6 novembre 2008 alle 14.07
13 messaggi dal 07 ottobre 2008
Grazie mille ancora per la risposta.

Ho fatto come mi hai detto e devo dire che il valore lo passa correttamente da una pagina all'altra(riesco a vederlo sull'indirizzo Internet - diciamo così...).
Il problema è che sulla TextBox dell'altra pagina non appare niente..come se non riesce a prenderlo.

Non riesco a capire dove sbaglio...dovrebbe essere una cosa abbastanza semplice ed invece...

Grazie mille ancora
Simone
Microsoft Most Valuable Professional
Re: Passare dati da GridView a TextBox
Daniele Bochicchio
Daniele Bochicchio non è online. Ultima attività: 03/07/2009 15.37.56Daniele Bochicchio Top Poster
il 7 novembre 2008 alle 09.18
Simone wrote:
Non riesco a capire dove sbaglio...dovrebbe essere una cosa abbastanza semplice ed invece...

dipende come lo carichi dall'altra parte ed in che evento. hai messo in mezzo il debugger, così da vedere passo passo cosa succede?

Daniele Bochicchio
ASP.NET
.NET Framework
LINQ
Silverlight
Re: Passare dati da GridView a TextBox
Simone
Simone non è online. Ultima attività: 04/05/2009 17.01.13Simone
il 7 novembre 2008 alle 10.20
13 messaggi dal 07 ottobre 2008
Avevo il AutoEventWireup impostato su False nella pagina di destinazione....:)
Tutto funziona correttamente ora.

Grazie mille ancora
Ciao
Simone
Microsoft Most Valuable Professional
Re: Passare dati da GridView a TextBox
Daniele Bochicchio
Daniele Bochicchio non è online. Ultima attività: 03/07/2009 15.37.56Daniele Bochicchio Top Poster
il 7 novembre 2008 alle 14.57
Simone wrote:
Grazie mille ancora

prego

Daniele Bochicchio
ASP.NET
.NET Framework
LINQ
Silverlight

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9