web-dev-qa-db-fra.com

Supprimer les colonnes de DataTable en C #

J'ai un DataSet dont je tire un DataTable qui me renvoie d'un appel de fonction. Il a 15-20 colonnes, cependant je ne veux que 10 colonnes de données.

Y at-il un moyen de supprimer ces colonnes que je ne veux pas, copier le DataTable à un autre qui a seulement les colonnes définies que je veux ou est-il juste préférable d'itérer la collection et d'utiliser simplement les colonnes dont j'ai besoin.

J'ai besoin d'écrire les valeurs dans un fichier de données de longueur fixe.

99
Brian G

En plus de limiter les colonnes sélectionnées pour réduire la bande passante et la mémoire:

DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);
270
Tom Ritter

Pour supprimer toutes les colonnes après celle que vous voulez, cette petite fonction devrait fonctionner. Il sera supprimé à l'index 10 (rappelez-vous que les colonnes sont basées sur 0), jusqu'à ce que le nombre de colonnes soit égal à 10 ou moins.

        DataTable dt;
        int desiredSize = 10;

        while (dt.Columns.Count > desiredSize)
        {
            dt.Columns.RemoveAt(desiredSize);
        }
21
Timothy Carter