Aprire la riga selezionata

domenica 27 marzo 2011 - 17.57
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  .NET 4.0  |  Windows Server 2008 R2  |  Windows Server 2008  |  Windows 7  |  Visual Studio 2008  |  SQL Server 2008 R2  |  Office 2010  |  Internet explorer 8.0

gianni01 Profilo | Newbie

Salve a tutti, sono nuovo di questo sito e soprattutto nuovo nella programmazione, quindi non arrabbiatevi se pongo domande banali.
Ho questo problema, dovrei aprire la riga selezionata di una datagridview in una form, io ho implementato il codice per l'apertura della form in questo modo, ma non so come far apparire i dati della riga nella form.
Potete aiutarmi, grazie.
Questo è il codice attuale:

Private Sub dgvMacchinario_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvMacchinario.CellDoubleClick


If e.ColumnIndex = 3 Then


Dim SingIstForm As New frmMacchine

Dim dr As DataRow = DirectCast(TbMacchinarioBindingSource.Current, DataRowView).Row


SingIstForm = frmMacchine.Istanza
SingIstForm.MdiParent = Me.MdiParent
SingIstForm.Show()


AddHandler SingIstForm.FormClosed, AddressOf frmTerziaria_Closed
SingIstForm.Show()
frmpAvvio.btnMacchine.BackColor = Color.PaleGreen

End If
End Sub

ysdemarc Profilo | Expert

Non ho capito bene la tua domanda, se vuoi passare il tuoo dataRow del datagridview alla form frmMacchine potresti implementare il costruttore e passarglielo al momento dell'instanzazione del form che farai dopo aver valorizzato il dataRow
Vincenzo
Programmatore sbilenco

gianni01 Profilo | Newbie

Ciao ysdemarc, innanzi tutto grazie per l'interessamento, cerco di spiegare meglio il problema, io ho strutturato il codice come di seguito allego, sembrerebbe funzionare tutto, non ho nessun tipo di errore, l'unico problema a questo punto non riesco a visualizzare i dati nella nuova form.
Ovvero, ho una fomr frmOfferte in cui faccio una query e ottengo un risultato in una gridview, a questo punto cliccando su un campo (nella fattispecie "Dimensioni"), mi apre una nuova form con tutti idettagli del prodotto rappresentati in tante textbox quante sono le colonne della tabella.
Il problema sta qui, nel senso che nella nuova form le texbox restno vuote.
Questo è il codice:

Form Offerte:

Private Sub btnRicerca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRicerca.Click

Dim DS As New DataSet
Dim daMacchinario As New SqlClient.SqlDataAdapter
Dim Conn As SqlClient.SqlConnection


Conn = New SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("DBConnection").ConnectionString)
Using cmd As New SqlClient.SqlCommand("SELECT * FROM tbMacchinario " & "WHERE Dimensioni LIKE @Dimensioni ", Conn)
cmd.Parameters.AddWithValue("@Dimensioni", txtDimensione.Text)
daMacchinario = New SqlClient.SqlDataAdapter(cmd)

daMacchinario.Fill(DS, "Risultati")
dgvMacchinario.DataSource = DS.Tables("Risultati") 'dgvMacchinario il DataGridView.
End Using


End Sub


Private Sub dgvMacchinario_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvMacchinario.CellDoubleClick

If e.ColumnIndex = 3 Then


Dim SingIstForm As New frmMacchine

Dim dr As DataRow = DirectCast(TbMacchinarioBindingSource.Current, DataRowView).Row
SingIstForm.myRow = CType(dr, Easy_SaleDataSet.tbMacchinarioRow)

SingIstForm = frmMacchine.Istanza
SingIstForm.MdiParent = Me.MdiParent
SingIstForm.Show()


AddHandler SingIstForm.FormClosed, AddressOf frmTerziaria_Closed
SingIstForm.Show()
frmpAvvio.btnMacchine.BackColor = Color.PaleGreen

End If


Form Macchinario:

Dim rw As Easy_SaleDataSet.tbMacchinarioRow = Nothing
Public WriteOnly Property myRow() As Easy_SaleDataSet.tbMacchinarioRow
Set(ByVal value As Easy_SaleDataSet.tbMacchinarioRow)
If Not value Is Nothing Then
IDTextBox.DataBindings.Clear()
rw = value
txtDimensioni.DataBindings.Add(New Binding("Text", rw, "Dimensioni"))
End If
End Set
End Property

Private Sub frmMacchine_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.ValidateChildren()
If Not rw Is Nothing Then rw.EndEdit()
End Sub


Aspetto un vostro prezioso suggerimento, grazie ancora

eziopatane Profilo | Newbie

Per non aprire un'altro Tread mi accodo alla richiesta..anche io devo fare la stessa identica cosa!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5