C sharp - hacer un copy de un datatable pero no incluir 3 columnas

 
Vista:

hacer un copy de un datatable pero no incluir 3 columnas

Publicado por greg (7 intervenciones) el 08/11/2012 18:10:50
hola compañeros!!

estoy tratando de hacer un copy de un datatable pero sin incluir 3 columnas e hice lo siguiente

1
DataTable myDtable  = tbl.copy();

luego

1
2
3
4
5
6
7
8
9
foreach(DataColumn columna in myDtable.Columns)
              {
// aca reviso si estan hay columnas con ese mismo nombre que estan en el dtagrid
                  if (!Mydtg.Columns.Contains(columna.ColumnName))
                  {
                      myDtable.Columns.Remove(columna.ColumnName);
// las remuevo las que exitan de la copy y que compara si estan con el datagridview enlazado a datos
                  }
              }


pero en el foreach me sale un error
sgte:
coleccion modificada; puede que no se ejecute la operacion de enumeracion

existe otra forma de mirar que 3 columnas de un datagrid no me aparezcan en la copy de myDtable???

o en que falla este codigo

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

hacer un copy de un datatable pero no incluir 3 columnas

Publicado por m (97 intervenciones) el 09/11/2012 22:15:03
el error es que estas modificando la tabla de tu
loop asi que en este caso usa el objeto original (tbl) para el foreach

1
2
3
4
5
6
7
8
9
foreach(DataColumn columna in tbl.Columns)
{
// aca reviso si estan hay columnas con ese mismo nombre que estan en el dtagrid
if (!Mydtg.Columns.Contains(columna.ColumnName))
{
myDtable.Columns.Remove(columna.ColumnName);
// las remuevo las que exitan de la copy y que compara si estan con el datagridview enlazado a datos
}
}


saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar