it-swarm-pt.tech

Remover colunas de DataTable em c #

Eu tenho um DataSet que recebo um DataTable de que estou sendo passado de volta de uma chamada de função. Tem 15-20 colunas, no entanto eu só quero 10 colunas dos dados.

Existe uma maneira de remover as colunas que eu não quero, copie o DataTable para outro que tem apenas as colunas definidas que eu quero ou é melhor apenas para iterar a coleção e apenas usar as colunas que eu preciso.

Eu preciso escrever os valores para um arquivo de dados de comprimento fixo.

96
Brian G

Além de limitar as colunas selecionadas para reduzir a largura de banda e a memória:

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

Para remover todas as colunas após a que você deseja, essa pequena função deve funcionar. Ele será removido no índice 10 (lembre-se de que Colunas são baseadas em 0), até que a contagem da coluna seja 10 ou menos.

        DataTable dt;
        int desiredSize = 10;

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