2009-07-29 17 views

Respuesta

12

No se puede hacer eso, sino que puede crear una copia de la tabla con sólo las columnas que desee:

DataView view = new DataView(table); 
DataTable table2 = view.ToTable("FirstColumn", "SecondColumn", "ThirdColumn"); 

Opcionalmente se puede devolver filas que tienen valores distintos para las columnas seleccionadas:

DataView view = new DataView(table); 
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn"); 
+0

Gracias, Thomas. También me gustaría poder incluir columnas calculadas en "tabla2". Por ejemplo, view.ToTable ("FirstColumn * 2", "SecondColumn> 0", "TRIM (ThirdColumn)"). – JaysonFix

+0

créelos en la tabla y selecciónelos en ToTable, o agréguelos a table2 después de haberlo creado ... –

+1

Puede acortar esto usando DefaultView del DataTabe: '$ DataTable.DefaultView.ToTable (" FirstColumn "," SecondColumn "," ThirdColumn ");' –

1

Bueno, no veo ninguna razón para "querer" hacer eso ... Recuerde, un DataView es solo una lista de punteros a las filas en la tabla original, y obviamente no hay forma de eliminar columnas de la tabla original ... al menos no sin afectar a todas las otras funciones que utilizan esa tabla ... Solo use las columnas que desee ...

-1

DataSet y sus tipos asociados no tienen capacidad para realizar operaciones relacionales.

Cuestiones relacionadas