2010-08-10 41 views
11

tengo una tabla de datos con 12 columns.now i necesidad de eliminar todas las columnas excepto en la posición "0"¿Cómo eliminar la columna tabla de datos en C#

me puede quitar de forma individual, especificando el nombre de columnas. pero no quiero hacer eso, ya que no es la mejor forma de codificar.

¿Hay alguna otra que pueda hacer que

gracias

+0

¿Está usted compartiendo datos? – PostMan

+0

posible duplicado: https://stackoverflow.com/questions/75123/remove-columns-from-datatable-in-c-sharp –

+0

posible duplicado: https://stackoverflow.com/questions/75123/remove-columns-from -datatable-in-c-sharp –

Respuesta

19

ir hacia atrás a través de las columnas y quitar cada uno. Debe retroceder para evitar una excepción de índice fuera de rango.

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

VB.Net amantes:

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

gracias Jerod Houghtelling, su solución funcionó muy bien – happysmile

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

El código se puede acabar con las columnas de un objeto de tabla de datos. Lo que hace mi código es recorrer los objetos de la tabla de datos y luego eliminar las columnas una por una.

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

Con el código anterior puede tomar las columnas de un objeto Datatable. Lo que hace mi código es recorrer los objetos Datatable y luego eliminar las columnas una a una. –

+0

Espero que ayude, si tiene alguna otra consulta, no dude en ponerse en contacto conmigo. –

Cuestiones relacionadas