Gestire gli eventi del filtro della colonna
Gestione dell’evento lato server sull’applicazione del filtro della colonna
Ci sono due eventi principali come dettagliato di seguito.
- OnBeforeColumnFilter: Si attiva prima che il filtro venga applicato a una colonna.
- OnAfterColumnFilter: Si attiva dopo che il filtro è stato applicato a una colonna.
Ecco lo script ASPX del componente Aspose.Cells.GridWeb per aggiungere e assegnare i suddetti eventi.
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> |
Questi eventi possono essere utilizzati per ottenere informazioni utili sul processo di filtraggio, come l’indice della colonna e il valore su cui deve essere applicato il filtro. Di seguito è riportato lo snippet che dimostra l’uso dell’evento OnBeforeColumnFilter per recuperare l’indice della colonna e il valore che l’utente ha selezionato sull’interfaccia utente di GridWeb per il filtraggio.
// 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’altro canto, se il requisito è quello di ottenere il numero di righe filtrate dopo che il filtro è stato applicato, puoi utilizzare l’evento OnAfterColumnFilter come dimostrato di seguito.
// 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; | |
} |