Pregunta

En C # & amp; .NET, se puede crear un DataView que incluya solo un subconjunto correcto de la DataColumn de un DataTable dado ?

En términos de álgebra relacional, uno asigna un RowFilter para realizar una selección " " funcionamiento (s). ¿Cómo se realizaría una " proyección " operación (p)?

¿Fue útil?

Solución

No puede hacer eso, pero puede crear una copia de la tabla solo con las columnas que desee:

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

Opcionalmente, puede devolver filas que tengan valores distintos para las columnas seleccionadas:

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

Otros consejos

Bueno, no puedo ver ninguna razón para " querer " para hacer eso ... Recuerde, un DataView es solo una lista de punteros a las filas en la tabla original, y obviamente no hay manera de eliminar columnas de la tabla original ... al menos no sin afectar a todas las demás funciones que utilizan esa tabla ... Solo usa las columnas que quieras ...

cree la vista de datos como un intercambio de una tabla a otra, y use el dtswap como fuente de datos.

DataView dw = new DataView(dtfee);
            DataTable dtswap = new DataTable();
            dtswap = dw.ToTable(true,"Fees", "FeeAmount", "Year", "CollectorName", "Month");

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top