Sütun Filtre Sunucusu Yan Olaylarını İşle

Sütun Filtresi Uygulanırken Sunucu Tarafı Olayını İşleme

Aşağıda ayrıntıları verilen iki ana olay vardır.

  1. OnBeforeColumnFilter: Filtre bir sütuna uygulanmadan önce tetiklenir.
  2. OnAfterColumnFilter: Filtre bir sütuna uygulandıktan sonra tetiklenir.

Yukarıda belirtilen olayları eklemek ve atamak için Aspose.Cells.GridWeb bileşeninin ASPX komut dosyası aşağıdadır.

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>

Bu olaylar, sütun indeksi ve filtrenin uygulanması gereken değer gibi filtreleme işlemi hakkında yararlı bilgiler elde etmek için kullanılabilir. Aşağıda, OnBeforeColumnFilter olayının kullanıcının filtreleme için GridWeb kullanıcı arayüzünde seçtiği sütun indeksini ve değerini almak için kullanıldığını gösteren kod parçası yer almaktadır.

// 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;
}

Öte yandan, filtre uygulandıktan sonra gereksinim filtrelenmiş satır sayısını almaksa, OnAfterColumnFilter olayını aşağıda gösterildiği gibi kullanabilirsiniz.

// 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;
}