Newsgroup: it.comp.lang.visual-basic
Titolo: [.NET] Child datagrid scompare

Ciao a tutti,
Situazione: DataSet con due tabelle, tblParent e tblChild unite da una
relazione 1-molti, DataGrid (Windows.Form) in binding con tblParent.
Vorrei ovviare ad un fastidioso comportamento del DataGrid: quando clicco
sul + del RowHeader, per visualizzare le ChildRows del record selezionato,
la griglia mi mostra i record child solo per un attimo, poi ritorna alla
tabella principale (come giustamente succede quando si preme la freccetta
<-- in alto a destra).
Credo che il comportamento sia dovuto al fatto che tutti i record vengono
costantemente aggiornati con dei dati che ricevo da internet, quindi, ad
occhio, quando arriva un dato di tblParent, il DataGrid "ritorna" sulla
suddetta tabella.
Spero di essermi spiegato :-)
Qualche idea?
Grazie.
Ciao, Luca.

 ha scritto nel messaggio
news:bum9k0$dfdk4$1...@ID-72074.news.uni-berlin.de...

Non so se sono in grado di aiutarti.
la griglia è una ?
giuseppeD

Giuseppe wrote:
: Non so se sono in grado di aiutarti.
: la griglia è una ?
Si, una "sola" :-)
Quando espando un nodo\record, cliccando sul +, la grid mi mostra i child
record, ma una frazione di secondo dopo ritorna sulla "schermata" con tutti
i record master collassati.
Credo che la cosa sia dovuta al continuo aggiornamento dei dati, se
interrompo il flusso di dati in arrivo infatti tutto funziona a dovere,
ovvero il nodo si espande e mi vengono visualizzati i child records, quindi
per "tornare indietro" devo premere la freccetta in alto a destra.
Ho letto da qualche parte che si può fare in modo che la grid espanda i
nodi\record in questo modo, ora googlo un po' :-)
+ parent1
- parent2
    child1
    child2
+ parent3
- parent4
    child1
    child2
+ parent5
Grazie per l'interessamento!
Ciao, Luca.

Ho provato con un progetto "vergine":
DataSet con 2 tabelle tblParent e tblChild, unite da una relazione 1-molti
(per capirci: la classica Ordini-DettagliOrdini)
DataGrid in binding con tblParent
Clicco sul + e osservo i record Child, se nel mentre un valore della tabella
Parent viene modificato, la DataGrid naviga automaticamente "indietro" sui
record Parent.
Possibile che non si possa ovviare a tale comportamento? :-(
Ciao, Luca.

 ha scritto nel messaggio
news:buorma$j8tnf$1...@ID-72074.news.uni-berlin.de...

Alla proprietą griglia.DataMember
č assegnato la tabella o il nome della relazione ?
giuseppeD

Ho trovato una risposta, negativa :-( , la grid visualizza automaticamente
la tabella parent quando questa viene modificata.
l'ultimo post è eloquente :-(
"Unfortunately, there's no way to avoid the collapse on child table, when
you changing the parent table.""
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&oe=UTF-8&threadm=1QAalBOXDHA.1360%40cpmsftngxa06.phx.gbl&rnum=8&prev=/groups%3Fhl%3Dit%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26q%3Dnet%2Bdatagrid%2Bupdate%2Bnavigate
Ciao, Luca.

 è assegnato la tabella o il nome della relazione ?
Ciao Giuseppe,
ho usato:
DG.SetDataBindindg(DS,"tblSott")
Ad ogni modo credo che sia un comportamento "By design"...it's not a bug,
it's a feature...dicono a Redmond :-)
Ciao, Luca.

 DG.SetDataBindindg(DS,"tblSott")
Ho davanti una form con due griglio,
nella superiore i padri, nell'altra i figli.
Clicco sul padre e automaticamente nella seconda griglia,
compaiono i figli.
Nella griglia dove ci sono i child leggo:
grigliaDettagli.DataMember = "Customers.CustomersToOrders"
e tutto funziona
giuseppeD


Si, una valida soluzione alternativa č usare due griglie :-)
Altrimenti devo fare in modo che durante la visualizzazione dei child la
tabella master non venga modificata e usare una cache per sottoporre i
cambiamenti in un secondo tempo, sperando che l'utente, nel mentre, non vada
a bere il caffč, siccome da un server remoto ottengo circa 500 aggiornamenti
al secondo! :-)
Grazie ancora!
Ciao, Luca.

 al secondo! :-)
La butto quì:
prima del ricarico: griglia.DataSource=nothing
e poi gli abbini i valori ?
giuseppeD