Управление событиями серверной стороны фильтра столбцов
Обработка события серверной стороны при применении фильтра столбца
Есть два основных события, подробно описанных ниже.
- OnBeforeColumnFilter: Срабатывает перед применением фильтра на столбце.
- OnAfterColumnFilter: Срабатывает после применения фильтра на столбце.
Ниже приведен ASPX-скрипт компонента Aspose.Cells.GridWeb для добавления и назначения упомянутых событий.
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> |
Эти события могут использоваться для получения полезной информации о процессе фильтрации, такой как индекс столбца и значение, на котором должен быть применен фильтр. Ниже приведен фрагмент, демонстрирующий использование события OnBeforeColumnFilter для получения индекса столбца и значения, которое пользователь выбрал в интерфейсе GridWeb для фильтрации.
// 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; | |
} |
С другой стороны, если требуется получить количество отфильтрованных строк после применения фильтра, то можно использовать событие OnAfterColumnFilter, как показано ниже.
// 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; | |
} |