Tenemos dos columnas en a DataTable
, así:
COL1 COL2
Abc 5
Def 8
Ghi 3
Estamos tratando de resolver esto datatable
basado en COL2
en orden decreciente.
COL1 COL2
ghi 8
abc 4
def 3
jkl 1
Intentamos esto:
ft.DefaultView.Sort = "COL2 desc";
ft = ft.DefaultView.ToTable(true);
pero, sin usar a DataView
, queremos ordenar el DataTable
propio, no el DataView
.
Esto te ayudara...
fuente
Su uso simple. Seleccione la función.
Y está hecho ... Feliz codificación
fuente
Select("", "CompanyName ASC")
.Quizás lo siguiente pueda ayudar:
Aquí, también puede usar otras consultas de expresión Lambda.
fuente
¿Intentaste usar el
Select(filterExpression, sortOrder)
método en DataTable? Ver aquí para un ejemplo. Tenga en cuenta que este método no ordenará la tabla de datos en su lugar, si eso es lo que está buscando, pero devolverá una matriz ordenada de filas sin usar una vista de datos.fuente
O, si puede usar un
DataGridView
, simplemente puede llamarSort(column, direction)
:Lo que te daría el resultado deseado:
fuente
fuente
Hay 2 formas de ordenar datos
1) ordenar solo los datos y rellenarlos en la cuadrícula:
2) ordenar la vista predeterminada que es como ordenar con encabezado de columna de cuadrícula:
fuente
DataRow[] rows = dt.Rows.Cast<DataRow>().OrderBy(row => row.Field<string>("FIELD_NAME"), MyCustomComparer.Instance).ToArray();
Resulta que hay un caso especial donde esto se puede lograr. El truco consiste en crear la tabla de datos, recopilar todas las filas de una lista, ordenarlas y luego agregarlas. Este caso acaba de llegar aquí.
fuente
//Espero que esto te ayudará..
fuente
TL; DR
utilizar
tableObject.Select(queryExpression, sortOrderExpression)
para seleccionar datos de manera ordenadaEjemplo completo
Ejemplo de trabajo completo : se puede probar en una aplicación de consola :
Salida
fuente
prueba esto:
fuente
DataTable sortedDT = new DataTable()
. 2)ImportRow