Behandeln von Server-Side-Events für Spaltenfilter
Behandeln von serverseitigen Ereignissen beim Anwenden des Spaltenfilters
Es gibt zwei Hauptereignisse, wie unten beschrieben.
- OnBeforeColumnFilter: Wird ausgelöst, bevor der Filter auf eine Spalte angewendet wird.
- OnAfterColumnFilter: Wird ausgelöst, nachdem der Filter auf eine Spalte angewendet wurde.
Hier ist das ASPX-Skript der Komponente Aspose.Cells.GridWeb zum Hinzufügen und Zuweisen der oben genannten Ereignisse.
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> |
Diese Ereignisse können verwendet werden, um nützliche Informationen über den Filterprozess zu erhalten, z. B. Spaltenindex und Wert, auf den der Filter angewendet werden muss. Das folgende Snippet zeigt die Verwendung des OnBeforeColumnFilter-Ereignisses zum Abrufen des Spaltenindex und -werts, den der Benutzer auf der GridWeb-Benutzeroberfläche zum Filtern ausgewählt hat.
// 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; | |
} |
Wenn andererseits die Anforderung darin besteht, die Anzahl der gefilterten Zeilen zu erhalten, nachdem der Filter angewendet wurde, können Sie das OnAfterColumnFilter-Ereignis wie unten gezeigt verwenden.
// 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; | |
} |