WorksheetBase.FilterMode – vlastnost
Získá hodnotu označující, zda je na listu je aktivně filtrování dat.
Obor názvů: Microsoft.Office.Tools.Excel
Sestavení: Microsoft.Office.Tools.Excel.v4.0.Utilities (v Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntaxe
'Deklarace
Public ReadOnly Property FilterMode As Boolean
public bool FilterMode { get; }
Hodnota vlastnosti
Typ: System.Boolean
true je-li listu je aktivně filtrování dat; v opačném případě se false.
Poznámky
Chcete-li zjistit, zda filtrování je zapnut (zda šipek rozevíracího seznamu filtru jsou zobrazeny na listu), použijte AutoFilterMode vlastnost.
Chcete-li povolit filtrování a vytvořit filtrovaný seznam, použijte AutoFilter metoda Range objektu nebo použít AutoFilter metoda NamedRange objektu.
Tato vlastnost je true Pokud list obsahuje filtrovaný seznam, ve kterém jsou skryté řádky.
Příklady
Následující příklad kódu vytvoří filtrovaného seznamu v plody Rangea potom použije AutoFilter vlastnost, kterou chcete zobrazit kritéria filtru pro seznam.V příkladu poté vyzve uživatele k vypnutí filtru pomocí AutoFilterMode vlastnost a nakonec se používá FilterMode vlastnost, kterou chcete zobrazit, zda má list filtrovaného seznamu.
V tomto příkladu je úroveň dokument přizpůsobení.
Private Sub ActivateAutoFilter()
Me.Range("A1").Value2 = "Fruits"
Me.Range("A2").Value2 = "Banana"
Me.Range("A3").Value2 = "Apple"
Me.Range("A4").Value2 = "Banana"
Me.Range("A5").Value2 = "Orange"
Me.Range("A6").Value2 = "Apple"
Me.Range("A7").Value2 = "Orange"
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1", "A7"), "NamedRange1")
NamedRange1.AutoFilter(1, "Apple", Excel.XlAutoFilterOperator.xlAnd, _
VisibleDropDown:=True)
MsgBox("The current criteria for the AutoFilter is: " & _
Me.AutoFilter.Filters(1).Criteria1.ToString())
If Me.AutoFilterMode Then
If DialogResult.Yes = MessageBox.Show("Would you like to " & _
"turn off the filter?", "Example", MessageBoxButtons.YesNo) Then
Me.AutoFilterMode = False
End If
End If
If Me.FilterMode Then
MsgBox("The worksheet has a filtered list.")
Else
MsgBox("The worksheet does not have a filtered list")
End If
End Sub
private void ActivateAutoFilter()
{
this.Range["A1"].Value2 = "Fruits";
this.Range["A2"].Value2 = "Banana";
this.Range["A3"].Value2 = "Apple";
this.Range["A4"].Value2 = "Banana";
this.Range["A5"].Value2 = "Orange";
this.Range["A6"].Value2 = "Apple";
this.Range["A7"].Value2 = "Orange";
Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A7"],
"NamedRange1");
NamedRange1.AutoFilter(1, "Apple",
Excel.XlAutoFilterOperator.xlAnd, true);
MessageBox.Show("The current criteria for the AutoFilter is: " +
this.AutoFilter.Filters[1].Criteria1.ToString());
if (this.AutoFilterMode)
{
if (DialogResult.Yes == MessageBox.Show("Would you like to " +
"turn off the filter?", "Example", MessageBoxButtons.YesNo))
{
this.AutoFilterMode = false;
}
}
if (this.FilterMode)
{
MessageBox.Show("The worksheet has a filtered list.");
}
else
{
MessageBox.Show("The worksheet does not have a filtered list");
}
}
Zabezpečení rozhraní .NET Framework
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.