RowFilter non funziona con i nomi di colonna con spazi

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("_", " ")

 

 

Technorati Tag: ,,

Print | posted on lunedì 17 agosto 2009 19.00

Feedback

No comments posted yet.

Your comment:





 
Please add 2 and 2 and type the answer here:

Copyright © Andrea Zingoni

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski