التعامل مع أحداث تصفية الأعمدة على الخادم

التعامل مع حدث جانب الخادم عند تطبيق تصفية الأعمدة

هناك حدثين رئيسيين كما هو مفصل أدناه.

  1. OnBeforeColumnFilter: يتم تشغيله قبل تطبيق التصفية على العمود.
  2. 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;
}