Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [.NET] Aggiungere una riga in una lista
Forum - C# / VB.NET - [.NET] Aggiungere una riga in una lista

Avatar
arterella (Normal User)
Rookie


Messaggi: 37
Iscritto: 14/07/2012

Segnala al moderatore
Postato alle 17:27
Giovedì, 16/05/2013
Ciao ragazzi mi sono impaperata in questo problema:
data una lista di dettagli, per ogni riga del dettaglio il programma estrae dei dati e li aggiunge ad un altra lista che poi verrà stampata in un file di testo.
il mio problema è che scorre bene la lista dei dettagli, aggiunge la prima riga, passa alla seconda e alla fine mi salva due righe identiche (la seconda riga).
il codice è questo
Codice sorgente - presumibilmente VB.NET

  1. Public Function _GetDetailRecords(ByVal poDocHeader As TransportReceiptAffiliateHeader, ByVal lstDetails As Generic.List(Of TransportReceiptAffiliateDetail)) As Generic.List(Of TransportReceipAffialiateDetailRow)
  2.         Dim lstRows As New Generic.List(Of TransportReceipAffialiateDetailRow)
  3.         Dim oRow As New TransportReceipAffialiateDetailRow
  4.         '  Dim lineaOrd = 1
  5.         For Each oDetRow In lstDetails
  6.             With oRow
  7.                 .NUM_ETT = CInt(poDocHeader.AffiliateSystemCode.Substring(5)) 'Codice Negozio
  8.                     .NUM_RCPTMAG = oDetRow.TransportReceiptNumber 'numero bolla fornitore
  9.                 .DAT_CRERCPTMAG = poDocHeader.FileDate 'Data ricevimento
  10.                  lstRows.Add(oRow)
  11.             End With
  12.  
  13.         Next
  14.         Return lstRows
  15.  
  16.     End Function



ho provato e riprovato ma mi stampa sempre le righe identiche.... a voi salta all'occhio qualcosa di erreto?


...per fare un uomo non basta un cervello....
PM Quote
Avatar
arterella (Normal User)
Rookie


Messaggi: 37
Iscritto: 14/07/2012

Segnala al moderatore
Postato alle 9:27
Venerdì, 02/08/2013
Era una cosa banalissima!!!

Facevo la New di oRow fuori dal ciclo.

Ho sistemato così :
Codice sorgente - presumibilmente VB.NET

  1. Dim oRow As TransportReceipAffialiateDetailRow
  2.         For Each oDetRow In lstDetails
  3.             oRow = New TransportReceipAffialiateDetailRow
  4.             With oRow



:k:

Si può chiudere il post! :D


...per fare un uomo non basta un cervello....
PM Quote