ListObject.AutoFilter Özellik
Filtre uygulanmış bir tablo alır.
Ad alanı: Microsoft.Office.Tools.Excel
Derleme: Microsoft.Office.Tools.Excel (Microsoft.Office.Tools.Excel.dll içinde)
Sözdizimi
'Bildirim
ReadOnly Property AutoFilter As AutoFilter
AutoFilter AutoFilter { get; }
Özellik Değeri
Tür: Microsoft.Office.Interop.Excel.AutoFilter
Bir AutoFilter , filtre uygulanmış bir tablo içerir.
Örnekler
Aşağıdaki kod örneği ekler bir ListObject çalışma sayfasına karşılık geldiği için Excel'de bir tablo.Bu örnek iki rasgele veri satırı içeren tabloyu doldurur ve ilk sütun değeri tüm satırları filtreler tablosundaki filtre "bb" dize değerine eşit değil belirtir.Daha sonra örnek tabloda bulunan etkin filtrelerin sayısını görüntüler.
Belge düzeyi özelleştirmesi için örnektir.
Private Sub FilterListObject()
' Create ListObject control (table) and set table style
Dim employeeTable As Microsoft.Office.Tools.Excel.ListObject = _
Me.Controls.AddListObject(Me.Range("A1"), "employeeTable")
' Populate table with some data
Dim rng As Excel.Range
rng = employeeTable.InsertRowRange
rng(ColumnIndex:=1).Value2 = "bb"
rng(ColumnIndex:=2).Value2 = "b1"
Dim row2 As Excel.ListRow = employeeTable.ListRows.AddEx( _
AlwaysInsert:=True)
rng = row2.Range
rng(ColumnIndex:=1).Value2 = "aa"
rng(ColumnIndex:=2).Value2 = "a1"
' Set a filter
employeeTable.Range.AutoFilter(1, "bb")
Dim activeFilterCount As Integer = 0
For Each filter As Excel.Filter In employeeTable.AutoFilter.Filters
If filter.On = True Then
activeFilterCount += 1
End If
Next
MessageBox.Show("There are " + activeFilterCount.ToString() _
+ " active filter(s) for table " + employeeTable.Name + ".")
End Sub
private void FilterListObject()
{
// Create ListObject control (table) and set table style
Microsoft.Office.Tools.Excel.ListObject employeeTable =
this.Controls.AddListObject(this.Range["A1"],
"employeeTable");
// Populate table with some data
Excel.Range rng;
rng = employeeTable.InsertRowRange;
((Excel.Range)(rng[1])).Value2 = "bb";
((Excel.Range)(rng[2])).Value2 = "b1";
Excel.ListRow row2 = employeeTable.ListRows.AddEx(true);
rng = row2.Range;
((Excel.Range)(rng[1])).Value2 = "aa";
((Excel.Range)(rng[2])).Value2 = "a1";
// Set a filter
employeeTable.Range.AutoFilter(1, "bb",
Excel.XlAutoFilterOperator.xlFilterValues);
int activeFilterCount = 0;
foreach (Excel.Filter filter in employeeTable.AutoFilter.Filters)
{
if (filter.On == true)
{
activeFilterCount += 1;
}
}
MessageBox.Show("There are " + activeFilterCount.ToString()
+ " active filter(s) for table " + employeeTable.Name + ".");
}
.NET Framework Güvenliği
- Anında arayanlar için tam güven. Bu üye kısmen güvenilen kodla kullanılamaz. Daha fazla bilgi için bkz. Kısmen Güvenilen Koddan Kitaplıkları Kullanma.