Proprietà WorksheetBase.FilterMode
Ottiene un valore che indica se nel foglio di lavoro è attiva la modalità filtro dei dati.
Spazio dei nomi: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Sintassi
'Dichiarazione
Public ReadOnly Property FilterMode As Boolean
public bool FilterMode { get; }
Valore proprietà
Tipo: System.Boolean
true se nel foglio di lavoro è attiva la modalità di filtro dei dati. In caso contrario false.
Note
Per determinare se il filtraggio è attualmente abilitato, ovvero se sono visualizzate le frecce a discesa del filtro nel foglio di lavoro, utilizzare la proprietà AutoFilterMode.
Per abilitare il filtro e creare un elenco filtrato, utilizzare il metodo AutoFilter di un oggetto Range o utilizzare il metodo AutoFilter di un oggetto NamedRange.
Questa proprietà è impostata su true se il foglio di lavoro contiene un elenco filtrato con righe nascoste.
Esempi
Nell'esempio di codice riportato di seguito viene creato un elenco filtrato di frutti in un oggetto Range. Viene quindi utilizzata la proprietà AutoFilter per visualizzare i criteri di filtro per l'elenco.Viene poi chiesto all'utente di disattivare il filtro utilizzando la proprietà AutoFilterMode e infine viene utilizzata la proprietà FilterMode per visualizzare se il foglio di lavoro contiene un elenco filtrato.
Questo esempio è valido per una personalizzazione a livello di documento.
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");
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.