///<summary> /// FilterData ///</summary> ///<param name="panel"></param> internal static void FilterData(GridPanel panel) { if (_lockFilter == true) return; if (panel.SuperGrid.DoDataFilteringStartEvent(panel) == false) { _lockFilter = true; try { if (panel.EnableFiltering == true && panel.FilterLevel != FilterLevel.None) { bool rowFiltered = IsRowFiltered(panel); bool colFiltered = IsColumnFiltered(panel); if (rowFiltered == true || colFiltered == true) { if (rowFiltered == true) rowFiltered = UpdateRowFilter(panel); if (colFiltered == true) UpdateColumnFilter(panel); UpdateFilterState(panel, rowFiltered, colFiltered); return; } } UpdateFilterState(panel, false, false); } finally { _lockFilter = false; panel.UpdateVisibleRowCount(); panel.SuperGrid.DoDataFilteringCompleteEvent(panel); } } else { panel.UpdateVisibleRowCount(); } }