Gérer les événements côté serveur du filtre de colonne
Gestion de l’événement côté serveur lors de l’application du filtre de colonne
Il existe deux événements principaux comme détaillé ci-dessous.
- OnBeforeColumnFilter: Se déclenche avant que le filtre soit appliqué sur une colonne.
- OnAfterColumnFilter: Se déclenche après l’application du filtre sur une colonne.
Voici le script ASPX du composant Aspose.Cells.GridWeb pour ajouter et attribuer les événements mentionnés ci-dessus.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
<acw:GridWeb ID="GridWeb1" runat="server" | |
OnBeforeColumnFilter="GridWeb1_BeforeColumnFilter" | |
OnAfterColumnFilter="GridWeb1_AfterColumnFilter"> | |
</acw:GridWeb> |
Ces événements peuvent être utilisés pour obtenir des informations utiles sur le processus de filtrage telles que l’indice de colonne et la valeur sur laquelle le filtre doit être appliqué. Voici un extrait démontrant l’utilisation de l’événement OnBeforeColumnFilter pour récupérer l’indice de colonne et la valeur sélectionnée par l’utilisateur sur l’interface GridWeb pour le filtrage.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
protected void GridWeb1_BeforeColumnFilter(object sender, RowColumnEventArgs e) | |
{ | |
// Display the column index and filter applied | |
string msg = "[Column Index]: " + (e.Num) + ", [Filter Value]: " + e.Argument; | |
Label1.Text = msg; | |
} |
D’autre part, si l’exigence est d’obtenir le nombre de lignes filtrées après l’application du filtre, vous pouvez utiliser l’événement OnAfterColumnFilter comme démontré ci-dessous.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
protected void GridWeb1_AfterColumnFilter(object sender, RowColumnEventArgs e) | |
{ | |
string hidden = ""; | |
int headrow = 0; | |
int maxrow = GridWeb1.WorkSheets[0].Cells.MaxRow; | |
int count = 0; | |
// Iterate all worksheet rows to find out filtered rows | |
for (int i = headrow + 1; i <= maxrow; i++) | |
{ | |
if (GridWeb1.WorkSheets[0].Cells.Rows[i].Hidden) | |
{ | |
hidden += "-" + (i + 1); | |
} | |
else | |
{ | |
count++; | |
} | |
} | |
// Display hidden rows and visible rows count | |
string msg = "[Hidden Rows]: " + hidden + " [Visible Rows]: " + count; | |
Label1.Text = msg; | |
} |