2010-08-10 50 views
11

tôi có một DataTable với 12 columns.now tôi cần phải loại bỏ tất cả các cột ngoại trừ ở vị trí "0"Làm thế nào để loại bỏ cột DataTable trong C#

tôi có thể loại bỏ độc lập bằng cách xác định tên cột. nhưng tôi không muốn làm điều đó. đó không phải là cách tốt nhất để viết mã.

có bất kỳ khác tôi có thể làm điều đó

nhờ

+0

Bạn có tham gia dữ liệu không? – PostMan

+0

có thể trùng lặp: https://stackoverflow.com/questions/75123/remove-columns-from-datatable-in-c-sharp –

+0

có thể trùng lặp: https://stackoverflow.com/questions/75123/remove-columns-từ -datatable-in-c-sharp –

Trả lời

19

Tới ngược qua các cột và loại bỏ mỗi một. Bạn phải lùi lại để tránh một chỉ mục ngoài phạm vi ngoại lệ.

// index should include zero 
for(int index=table.Columns.Count-1; index>=0; index--) 
{ 
    table.Columns.RemoveAt(index); 
} 

VB.Net Lovers:

'index should include zero 
For index As Integer = table.Columns.Count - 1 To 0 Step -1 
    table.Columns.RemoveAt(index) 
Next 
+0

cảm ơn Jerod Houghtelling, Giải pháp của bạn đã làm việc tuyệt vời – happysmile

5
while(myDataTable.Columns.Count > 1) 
{ 
    myDataTable.Columns.RemoveAt(myDataTable.Columns.Count - 1); 
} 
0

Mã bạn có thể làm giảm các cột từ một đối tượng bảng dữ liệu. Những gì mã của tôi làm là nó sẽ lặp qua các đối tượng bảng dữ liệu và sau đó loại bỏ các cột từng cái một.

String strcolname = ""; 
    int i=0; 
    //Get Data for the reader object 
    using (reader = cmd.ExecuteReader()) 
    { 
    // Load the Data table object 
    dataTable.Load(reader); 

    //Loop thorough the DataTable object 
    for (i=dataTable.Columns.Count-1;i>=0;i--) 
    { 

    /* 
    To be more precise , specify the column name you dont want to get deleted, 
    (you can add multilple column names here)*/ 

    strcolname = dataTable.Columns[i].ColumnName.ToString(); 

    if (strcolname != "ABCD") 
    { 
     dataTable.Columns.RemoveAt(i); 
    } 
    }  
    } 
+0

Với mã được viết ở trên, bạn có thể gỡ xuống các cột từ một đối tượng Có thể định sẵn. Những gì mã của tôi làm là nó sẽ lặp qua các đối tượng Datatable và sau đó loại bỏ các cột từng cái một. –

+0

hy vọng điều đó sẽ hữu ích, nếu bạn có thêm bất kỳ thắc mắc nào, vui lòng liên hệ với tôi. –

Các vấn đề liên quan