Clasificación de datos de la hoja de trabajo
Contents
[
Hide
]
La clasificación es una tarea rutinaria importante que utilizamos principalmente al procesar datos. En este tema, discutiremos con la ayuda de un ejemplo simple cómo podemos ordenar los datos en una hoja de trabajo.
Clasificación de datos de la hoja de trabajo
Para ordenar datos en una hoja de trabajo utilizando API de Aspose.Cells.GridDesktop, siga los pasos a continuación:
- En primer lugar, cree un objeto global derango de celdas para que se pueda acceder a ella desde cualquier lugar del ámbito de su clase
- Crear un controlador de eventos paraSelectedCellRangeChanged evento deGridEscritorio. SelectedCellRangeChanged El evento se activa cada vez que se cambia un rango de celdas seleccionado por un usuario. Por ejemplo, si un usuario selecciona celdas (que contienen datos para ordenar), cada vez que cambie su rango de selección, se activará este evento.
- El controlador de eventos proporcionaCellRangeEventArgs argumento que proporciona además el rango de actualización de celdas (seleccionado por el usuario) en forma de unrango de celdas objeto. Entonces, en este controlador de eventos, asignaremos esterango de celdas objeto (que contiene rango actualizado de celdas) al globalrango de celdasobjeto para que también se pueda usar en otra parte del código. Para asegurarnos de no perder el rango de celdas, escribiremos el código del controlador de eventos dentro de una condición
- Ahora podemos escribir algo de código para ordenar los datos de la hoja de trabajo. En primer lugar, acceda a la hoja de trabajo deseada
- Crear unordenarrango objeto que mantendrá el rango de celdas cuyos datos se van a ordenar. Enordenarrango constructor, podemos especificar la hoja de trabajo, los índices de la fila y la columna de inicio, el número de filas y columnas para ordenar, la orientación de la clasificación (como de arriba a abajo o de izquierda a derecha), etc.
- Ahora podemos llamarTipo método deordenarrango objeto para realizar la clasificación de datos. EnTipo método, podemos especificar el índice de la columna o fila a ordenar y el orden de clasificación (que puede serascendente oDescendente según sus requisitos)
- Finalmente, podemos llamarInvalidar método deGridEscritorio para redibujar celdas.
En el ejemplo que se muestra a continuación, hemos demostrado cómo ordenar los datos en una columna.
Cree un objeto global de CellRange ySelectedCellRangeChangedevento de GridDesktop. Ahora escriba el código como se indica a continuación:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Creating global variable of CellRange | |
CellRange range; | |
private void gridDesktop1_SelectedCellRangeChanged(object sender, Aspose.Cells.GridDesktop.CellRangeEventArgs e) | |
{ | |
// Checking if the range of cells is not empty | |
if ((e.CellRange.EndColumn - e.CellRange.StartColumn > 0) || | |
(e.CellRange.EndRow - e.CellRange.StartRow > 0)) | |
{ | |
// Assigning the updated CellRange to global variable | |
range = e.CellRange; | |
} | |
} |
Ahora escribimos el método paraorden ascendente . Puede crear un botón paraorden ascendente y escriba debajo del código dentro de suHacer clic Evento.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing a worksheet that is currently active | |
Worksheet sheet = gridDesktop1.GetActiveWorksheet(); | |
// Creating SortRange object | |
SortRange sr = new SortRange(sheet, range.StartRow, | |
range.StartColumn, range.EndRow - range.StartRow + 1, | |
range.EndColumn - range.StartColumn + 1, | |
SortOrientation.SortTopToBottom, true); | |
// Sorting data in the specified column in ascending order | |
sr.Sort(range.StartColumn, Aspose.Cells.GridDesktop.SortOrder.Ascending); | |
// Redrawing cells of the Grid | |
gridDesktop1.Invalidate(); |
Finalmente, escribimos algo de código para lograrorden descendente funcionalidad. Crear unorden descendente botón y escriba debajo del código dentro de suHacer clic Evento.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing a worksheet that is currently active | |
Worksheet sheet = gridDesktop1.GetActiveWorksheet(); | |
// Creating SortRange object | |
SortRange sr = new SortRange(sheet, range.StartRow, range.StartColumn, | |
range.EndRow - range.StartRow + 1, | |
range.EndColumn - range.StartColumn + 1, | |
SortOrientation.SortTopToBottom, true); | |
// Sorting data in the specified column in descending order | |
sr.Sort(range.StartColumn, Aspose.Cells.GridDesktop.SortOrder.Descending); | |
// Redrawing cells of the Grid | |
gridDesktop1.Invalidate(); |