web-development-kb-es.site

Eliminar columnas de DataTable en C #

Tengo un DataSet del que obtengo una DataTable de la que estoy siendo devuelto de una llamada de función. Tiene 15-20 columnas, sin embargo, solo quiero 10 columnas de los datos.

¿Hay alguna forma de eliminar esas columnas que no deseo? Copie el DataTable a otra que tenga solo las columnas definidas que quiero o es mejor iterar la colección y usar las columnas que necesito.

Necesito escribir los valores en un archivo de datos de longitud fija.

95
Brian G

Aparte de limitar las columnas seleccionadas para reducir el ancho de banda y la memoria:

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

Para eliminar todas las columnas después de la que desea, esta pequeña función debería funcionar. Se eliminará en el índice 10 (recuerde que las columnas se basan en 0), hasta que el número de columnas sea 10 o menos.

        DataTable dt;
        int desiredSize = 10;

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