it-swarm-vi.tech

Xóa các cột khỏi DataTable trong C #

Tôi có một Bộ dữ liệu mà tôi nhận được một DataTable mà tôi đang được truyền lại từ một lệnh gọi hàm. Nó có 15-20 cột, tuy nhiên tôi chỉ muốn 10 cột dữ liệu.

Có cách nào để loại bỏ những cột mà tôi không muốn, sao chép DataTable sang cột khác chỉ có các cột được xác định mà tôi muốn hoặc tốt hơn là lặp lại bộ sưu tập và chỉ sử dụng các cột tôi cần.

Tôi cần ghi các giá trị ra một tệp dữ liệu có độ dài cố định.

99
Brian G

Ngoài việc giới hạn các cột được chọn để giảm băng thông và bộ nhớ:

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

Để xóa tất cả các cột sau cái bạn muốn, hàm nhỏ này sẽ hoạt động. Nó sẽ xóa tại chỉ mục 10 (nhớ các Cột dựa trên 0), cho đến khi số lượng Cột là 10 hoặc ít hơn.

        DataTable dt;
        int desiredSize = 10;

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