Può capitare di ritrovarsi con una DataTable contenente delle DataColumns nominate in modo non convenzionale, ossia con caratteri non validi o con spazi.
In questo caso le proprietà .RowFilter e .Sort dell’oggetto DataView non funzionano correttamente.
Per aggirare questo problema basta rinominare le colonne interessate prima di impostare il filtro di ricerca o di ordinamento:
' Rinomina la colonna "Nome colonna con spazi" in "Nome_colonna_con_spazi".
dt.Columns(13).ColumnName = dt.Columns(13).ColumnName.Replace(" ", "_")
' Imposta il filtro sulla colonna rinominata.
dt.DefaultView.RowFilter = String.Format("{0} = '{1}'", dt.Columns(13).ColumnName, "Italia")
Volendo è possibile ripristinare il nome originale eseguendo l’operazione inversa dopo aver impostato i filtri.
dt.Columns(13).ColumnName = dt.Columns(13).ColumnName.Replace("_", " ")