Come aggiornare un datagrid???

mercoledì 14 dicembre 2005 - 11.30

geo99 Profilo | Newbie

Ciao!
In una form ho un datagrid.
Ho creato un bottone che apre un'altra form dove l'utente può inserire nuovi dati.
Quando preme il bottone inserimento vorrei che si chiudesse la form di inserimento e nella pagina precedente venisse aggiornato il datagrid con i dati appena inseriti.
Riesco ma c'e un problema:

il datagrid ha determinate impostazioni (una determinata larghezza a dipendenza della colonna) ma ogni volta mi sposta tutto, mi comprime la largezza delle colonne.

Per aggiornare il datagrid faccio semplicemente questo:

grdProgrammi.DataSource = dati.grdProgrammi()

Per risolvere il problema come posso fare? Se richiamo la funzione che crea l'intero datagrid mi da errore!

matteo.sandri Profilo | Newbie

>Ciao!
>In una form ho un datagrid.
>Ho creato un bottone che apre un'altra form dove l'utente può
>inserire nuovi dati.
>Quando preme il bottone inserimento vorrei che si chiudesse la
>form di inserimento e nella pagina precedente venisse aggiornato
>il datagrid con i dati appena inseriti.
>Riesco ma c'e un problema:
>
>il datagrid ha determinate impostazioni (una determinata larghezza
>a dipendenza della colonna) ma ogni volta mi sposta tutto, mi
>comprime la largezza delle colonne.
>
>Per aggiornare il datagrid faccio semplicemente questo:
>
>grdProgrammi.DataSource = dati.grdProgrammi()
>
>Per risolvere il problema come posso fare? Se richiamo la funzione
> che crea l'intero datagrid mi da errore!
>

se ti crei un datagridtablestyle?

form.DG.SetDataBinding(data, "table")
CopyDefaultTableStyle(DG, ts)

form = form dove si trova il datagrid
dg = datagrid
data = dataset
table = tabella
ts = tablestyle

geo99 Profilo | Newbie

si appunto io avevo creato un datagridtablestyle per impostare le varie larghezze delle colonne.
comunque il datagrid contiene dati provenienti da piu tabelle e ho usato un datatable e non un dataset....

come posso fare?

geo99 Profilo | Newbie

io ho creato questa procedura che mi crea il datagrid impostando le colonne:

Sub BuildDataGrid()

Dim ts As New DataGridTableStyle
Dim cs As DataGridColumnStyle
Dim dati As New DAL
grdProgrammi.DataSource = dati.grdProgrammi() -------->mi restituisce una datatable
grdProgrammi.DataSource.TableName = "tblProgrammi"

cs = New DataGridTextBoxColumn
cs.HeaderText = "ID"
cs.MappingName = "ID"
cs.NullText = ""
cs.ReadOnly = True
cs.Width = 0
ts.GridColumnStyles.Add(cs)

cs = New DataGridTextBoxColumn
cs.HeaderText = "Nome"
cs.MappingName = "Nome"
cs.NullText = ""
cs.ReadOnly = True
cs.Width = 200
ts.GridColumnStyles.Add(cs)

.....


ts.MappingName = "tblProgrammi"
Me.grdProgrammi.TableStyles.Add(ts)


Ho provato a fare quello che mi avete consigliato ma mi da un sacco di errori.
Al posto di table cosa devo mettere?
Se inserisco il codice suggerito e lo metto nella form che si apre non riconosce le variabili.

Scusate l'ignoranza ma non so proprio come fare....

geo99 Profilo | Newbie

al procedura non da errori.

ma l'aggiornamento del datagrid dovrei farlo una volta che si chiude la Form di inserimento, se metto il codice che mi avete consigliato mi da errori.
Il codice di aggiornamento l'ho messo subito dopo quando chiamo la nuova Form.

per esempio non riconosce il copydefaultstyle


geo99 Profilo | Newbie

ho risolto il problema!
Praticamente richiamo la procedura ma con una modifica:

elimino la tablestyle precedente inserendo questa riga:

Me.datagrid.TableStyles.Remove(Me.datagrid.TableStyles.Item(0))

genereva errore perchè era presenta gia un tablestyle

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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5