Aggiungere righe a datagridview da codice se questo è legato ad un dat...

venerdì 25 marzo 2011 - 14.00

neo996sps Profilo | Junior Member

Ciao a tutti,

mi trovo nell'impossibilità di aggiungere una riga ad un datagridview da codice quando questo è legato ad una tabella di un database. Io ho semplicemente scritto

datagrid.rows.add

e mi ha dato questo errore:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Come lo risolvo?

Dimenticavo, utilizzo visua basic 2008 express






Errare è umano, ma per fare veramente casino ci vuole la password di root

ysdemarc Profilo | Expert

Credo che puoi ovviare agigungendo le riche nell'oggetto di datasource e ridandolo in pasto al datagridview
Vincenzo
Programmatore sbilenco

jackk87 Profilo | Junior Member

>Ciao a tutti,
>
>mi trovo nell'impossibilità di aggiungere una riga ad un datagridview
>da codice quando questo è legato ad una tabella di un database.
>Io ho semplicemente scritto
>
>datagrid.rows.add
>
>e mi ha dato questo errore:
>
>Impossibile aggiungere righe a livello di codice all'insieme
>di righe di DataGridView in caso di associazione a dati del controllo.
>
>Come lo risolvo?
>
>Dimenticavo, utilizzo visua basic 2008 express
>
>
>
>
>
>
>Errare è umano, ma per fare veramente casino ci vuole la password
>di root
Ciao se legato ad una tabella intendi che è impostato un dataset allora dai uno sguardo a questa guida alla sezione datagridview che nell'esempio di codice c'è come creare una colonna da codice http://totemslair.org/guide/vb.php se hai problemi scrivi pure

neo996sps Profilo | Junior Member

ciao,

allora ho provato ad aggiungere queste due righe di codice:

Dim riga_default As New DataGridViewRow dgwConducenti.Rows.Add(riga_default)

però non funziona. Questi sono i miei elementi:

Public da As New MySqlDataAdapter ' DataAdapter Public ds As DataSet = New DataSet() ' DataSet Public bs As New BindingSource() ' BindingSource

come cavolo faccio a dirgli aggiungimi una riga

Errare è umano, ma per fare veramente casino ci vuole la password di root

jackk87 Profilo | Junior Member

se non funziona così quoto la proposta di ysdemarc che puoi aggiungere la riga al dataset così:
ds.Tables(0).Rows.Add(row)

ysdemarc Profilo | Expert

se tu al datagridview passi un datatable una cosa del genere dovebbe funzionare

DataView dv = (DataView)dataGridview1.DataSource; DataTable dt = dv.Table; DataRow dr = dt.NewRow(); dr["Data"] = DateTime.Now; dr["Numero"] = 9999; dt.Rows.Add(dr);

inoltre ho notato che non è necessario dopo l'agigunta della righa rifare ne la biding ne riassociare il datatable


c'è un'altra cosa se i datarow fanno parte di dataset differenti potrebbe essere necessario non usare dt.Rows.Add(dr) bensì dt.ImportRow(dr)

l'importante che la riga che aggiunbgi o importi sia come quella del datatable originale
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