Newsgroup: it.comp.lang.vo-clipper
Titolo: data window con una sub-data window refresh che non funziona

Sono incappato nel problema in oggetto e non ne vedo la soluzione ...
la sub-data window e alimentata da un file Temp che riceve il
dettaglio che man mano si forma o si legge dal file principale dei
dettagli. Quando termino un processo( con il solito salvataggio, devo
rimanere in finestra per ripetere il ciclo di inserimento-modifiche-
visualizzazioni, ma non riesco a fare il refresh della sub-data
windows che mostra sempre il primo contenuto, anche se in effetti, se
richiamo la riga in dettaglio essa è corretta cosi come voluto dopo
eventuali modifiche dei suoi campi. Insomma è buio pesto ...
ecco di seguito le istruzioni che uso per cancellare il contenuto del
dettaglio righe, ma ripeto, è più una questione di refresh della sub-
data window che temo non funziona ...
//Annullo i movimenti dell'archivio di appoggio temporaneo
SELF:oSFTstpncl_DETAIL:Server:SuspendNotification()
SELF:oSFTstpncl_DETAIL:Server:Setorder(1)
SELF:oSFTstpncl_DETAIL:Server:Gotop()
DO WHILE !SELF:oSFTstpncl_DETAIL:Server:EOF
     IF NetRecLock(SELF,SELF:oSFTstpncl_DETAIL:Server, 200)
	SELF:oSFTstpncl_DETAIL:Server:Delete()
	SELF:oSFTstpncl_DETAIL:Server:Commit()
	SELF:oSFTstpncl_DETAIL:Server:Unlock()
    ENDIF
    SELF:oSFTstpncl_DETAIL:Server:Skip()
ENDDO
SELF:oSFTstpncl_DETAIL:Server:Zap()
SELF:oSFTstpncl_DETAIL:Server:Refresh()
SELF:oSFTstpncl_DETAIL:Server:ResetNotification()
//Rilevamento dei movimenti di SCADENZARIO e assegno il record al file
temp
cercosca := ("C"+Str(SELF:mCOcli,5)+DToS(SELF:mDATA)+Str(SELF:mnuME,
10))
oScadenze := Scadenze{}
oScadenze:SetOrder(3)
oScadenze:gotop()
IF oScadenze:Seek("C"+Str(SELF:mCOcli,5)+DToS(SELF:mDATA)
+Str(SELF:mnuME,10))
   DO WHILE !oScadenze:EOF .and. (CERCOSCA == (Upper(oScadenze:CLIFOR)
+Str(oScadenze:SC_CODI,5)+DToS(oScadenze:SC_Ddoc)
+Str(oScadenze:SC_Ndoc,10)))
                   IF NetAppend(SELF,SELF:oSFTstpncl_DETAIL:Server,
200)
	       SELF:oSFTstpncl_DETAIL:Server:SC_TIPO := oScadenze:SC_TIPO
ecc
ecc--------------------------------------------------------------------
	       SELF:oSFTstpncl_DETAIL:Server:Commit()
	       SELF:oSFTstpncl_DETAIL:Server:Unlock()
	  ENDIF
	  oScadenze:Skip()
	ENDDO
	//Riprendi la relazione
	SELF:oSFTstpncl_DETAIL:Server:Refresh()
	SELF:oSFTstpncl_DETAIL:Server:ResetNotification()
	SELF:oSFTstpncl_DETAIL:Server:Notify(NOTIFYFILECHANGE)
Per cortesia, ditemi dove sbaglio ....Attualmente chiudi la finestra e
riapro il tutto ad ogni operazione di modifica-lettura e non è molto
elegante per il cliente ...

 riapro il tutto ad ogni operazione di modifica-lettura e non č molto


 - Mostra testo citato -

 ha scritto nel messaggio 
news:616101e1-eb46-478a...@h9g2000yqk.googlegroups.com...
Sono incappato nel problema in oggetto e non ne vedo la soluzione ...
la sub-data window e alimentata da un file Temp che riceve il
dettaglio che man mano si forma o si legge dal file principale dei
dettagli. Quando termino un processo( con il solito salvataggio, devo
rimanere in finestra per ripetere il ciclo di inserimento-modifiche-
visualizzazioni, ma non riesco a fare il refresh della sub-data
windows che mostra sempre il primo contenuto, anche se in effetti, se
richiamo la riga in dettaglio essa č corretta cosi come voluto dopo
eventuali modifiche dei suoi campi. Insomma č buio pesto ...
ecco di seguito le istruzioni che uso per cancellare il contenuto del
dettaglio righe, ma ripeto, č piů una questione di refresh della sub-



riapro il tutto ad ogni operazione di modifica-lettura e non č molto


Mario,
prova a fare cosě:
metti nell'Activate() della tua finestra un codice del tipo:
SELF:server:goto(numrec_padre)  // riattiva la relazione col figlio
oppure reimposti completamente la relazione:
SELF:oDCsubdatawindows:server:setselectiverelation(...)
SELF:server:goto(numrec_padre)
SUPER:Activate()
RETURN NIL
quando la finestra si riattiva post inserimento nuovo record nel file 
figlio, viene reimpostata la relation (che si riattiva con il goto sul 
padre)
Massimo

 prova a fare così:

Grazie Massimo faro delle prove ulteriori