Ho un DataSet da cui ottengo una DataTable da cui vengo restituito da una chiamata di funzione. Ha 15-20 colonne, tuttavia voglio solo 10 colonne di dati.
C'è un modo per rimuovere quelle colonne che non voglio, copiare la DataTable su un'altra che ha solo le colonne definite che voglio o è meglio iterare la raccolta e usare solo le colonne di cui ho bisogno.
Devo scrivere i valori in un file di dati a lunghezza fissa.
Oltre a limitare le colonne selezionate per ridurre la larghezza di banda e la memoria:
DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);
Per rimuovere tutte le colonne dopo quella desiderata, questa piccola funzione dovrebbe funzionare. Rimuoverà all'indice 10 (ricorda che le colonne sono basate su 0), fino a quando il conteggio delle colonne è 10 o meno.
DataTable dt;
int desiredSize = 10;
while (dt.Columns.Count > desiredSize)
{
dt.Columns.RemoveAt(desiredSize);
}