diff --git a/CadSearchGui/Form1.cs b/CadSearchGui/Form1.cs index 89011b3..969b6d3 100644 --- a/CadSearchGui/Form1.cs +++ b/CadSearchGui/Form1.cs @@ -44,6 +44,7 @@ public partial class Form1 : Form private string? _dbPath; private string? _percorsoInputCorrente; private List<(string Componente, string Descrizione)>? _righeCorrenti; + private Dictionary>? _ultimaVerifica; private string? _ultimaCartellaRaw; public Form1() @@ -473,6 +474,7 @@ public partial class Form1 : Form } _gridRaw.Rows.Clear(); _ultimaCartellaRaw = null; + _ultimaVerifica = null; ImpostaStatoImport($"CSV generato ({righe.Count} righe): {csv}", Color.DarkGreen); } @@ -501,6 +503,7 @@ public partial class Form1 : Form return; var trovati = TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente)); + _ultimaVerifica = trovati; foreach (DataGridViewRow riga in _gridImport.Rows) { string componente = (string)riga.Cells["componente"].Value!; @@ -518,7 +521,7 @@ public partial class Form1 : Form // L'assieme generale è già una riga di _righeCorrenti (aggiunta da // DistintaBaseImporter.ConvertiInCsv leggendo il nome del file distinta), quindi viene // trovato e copiato in raw come qualsiasi altro componente, senza bisogno di un caso speciale. - var percorsiTrovati = TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente)); + var percorsiTrovati = _ultimaVerifica ?? TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente)); _gridRaw.Rows.Clear(); foreach (var (componente, _) in _righeCorrenti)