internal List<ProvenienzaIstat> cercaProvIstatByStato(string prefix)
 {
     OleDbConnection conn = new OleDbConnection(Properties.Settings.Default.SoggiorniDbConnectionString);
     string queryString = "SELECT * FROM QueryProvIstatByStato";
     OleDbCommand cmd = new OleDbCommand(queryString, conn);
     cmd.Parameters.Add("Prefisso", OleDbType.Char, 255).Value = prefix + "%";
     conn.Open();
     OleDbDataReader reader = cmd.ExecuteReader();
     var plist = new List<ProvenienzaIstat>();
     ProvenienzaIstat prov;
     while (reader.Read())
     {
         //ID, Regione, Stato
         prov = new ProvenienzaIstat
         {
             Id = int.Parse(reader[0].ToString()),
             Regione = reader[1].ToString(),
             Stato = reader[2].ToString()
         };
         plist.Add(prov);
     }
     reader.Close();
     conn.Close();
     return plist;
 }
        private void btnSelectComune_Click(object sender, RoutedEventArgs e)
        {
            //caso 0 risultati
            if (dataGridProv.Items.Count == 0)
            {
                MessageBox.Show("E' necessario avere almeno un risultato per selezionare una provenienza", "Nessun risultato di ricerca", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            //caso nessuna riga selezionata
            if (dataGridProv.SelectedItems.Count == 0)
            {
                MessageBox.Show("E' necessario selezionare una provenienza dalla griglia", "Nessuna selezione", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            provSelezionata = (ProvenienzaIstat)dataGridProv.SelectedItems[0];
            this.DialogResult = true;
        }