Torna al Thread
private DataTable importColumn (DataTable source,DataTable destination, string filter)
{
if (source == null || filter == null || filter.Trim() == "")
throw new ArgumentException();
if (source.Columns.Count != filter.Length)
throw new ArgumentException();
try
{
//creo la struttura dati
List<string> colonne = new List<string>();
for (int i = 0; i < filter.Length; i++)
if (filter[i] == Convert.ToChar("1"))
{
destination.Columns.Add(new DataColumn(source.Columns[i].ColumnName));
Scolonne.Add(source.Columns[i].ColumnName);
}
destination.AcceptChanges();
//sincronizzo i dati
foreach (DataRow dr in source.Rows)
{
DataRow newRow = destination.NewRow();
foreach (string nomeColonna in colonne)
newRow[nomeColonna] = dr[nomeColonna];
destination.Rows.Add(newRow);
}
destination.AcceptChanges();
return (destination.Rows.Count == 0 || destination.Columns.Count == 0) ? null : destination;
}
catch { return null; }
}