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.

  1. OnBeforeColumnFilter: Se déclenche avant que le filtre soit appliqué sur une colonne.
  2. 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;
}