Problema Datagrid e multithread

lunedì 15 marzo 2004 - 02.57

luke Profilo | Newbie

Sto crando un'applicazione windows nella quale un thread riceve pacchetti udp da altri client e inserisce istanze di classi in un ArrayList statico conetnuto in un Form.
Queste classi hanno delle proprietà che cliccando su un bottone contenuto nel form vengono visualizzate in un datagrid contenuto in un altro form aperto al momento dell'evento.
Il problema sta nel fatto che il datagrid non si aggiorna anche se provvedo a chiamare una funzione (del form che ospita il datagrid) che mi aggiorna il datascource agni volta che viene inserito o rimosso un item dall'ArrayList.

Suggerimenti, dove sbaglio?

Posso postare anche il codice !

Grazie a tutti!

Brainkiller Profilo | Guru

In che modo assegni il Dataset o ArrayList al Datagrid ? Forse perdi un passaggio. I dati se cambiano all'interno del DataSet poi bisogna assegnarli nuovamente al Datagrid perchè si vedano le modifiche non mi pare che ci sia un aggiornamento in tempo reale... quindi prova a riassegnare la tua base dati al Datagrid dovrebbero cambiare anche i valori contenuti.

ciao
david

luke Profilo | Newbie

L'arrayList viene assegnata al datagrid tramite la propirietà datasource e ogni volta che viene aggiornata la lista viene riassegnata la proprietà datasource.
Quello che non capisco è che questo modo di aggiornare il datagrid funziona, ma che in questa applicazione non viene aggiornata.
Che voi sappiate è possibile non ci sia piena visibilità tra i due? cioè al momento della crazione del form che contiene il datagrid a questo gli viene assegnato il datasource e poi all'aggiornamento l'array che vede lui non sia quello aggiornato ?!
Non so se mi sono spiegato bene ?!

Grazie

Brainkiller Profilo | Guru

Lo escludo, non è possibile che un linguaggio di programmazioen funzioni così.
Ti controllo di fare una bella sessione di debug e tramite il Quick Watch vedere il contenuto degli oggetti o eventualmente dumpare il contenuto usando il Console.Writeline per vedere effettivamente cosa è contenuto nelle strutture, cosa è cambiato e cosa dovrebbbe apparire nel datagrid.

Prova ad usare anche il metodo Refresh() del DataGrid vedi se cambia qualcosa.

ciao
david

luke Profilo | Newbie

Ti ringrazio Brainkiller ma ho provato anche ad usare il refresh() , secondo me c' è qualcosa che non so, e ti diro di più, se stanpo che ne so il numero di slementi contenuti nell'arrayList è quello giusto ... ma....
Se ti va che hai un po di tempo, ti posto il codice !!
Dimmi tu !!
Grazie ancora per l'aiuto !

Brainkiller Profilo | Guru

Ok posta pure il codice, oggi non ci sono ma questa sera, provo a ricostruire la tua situazione e vedo un po' se funziona.

ciao
david
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