自動(dòng)過濾行
自動(dòng)過濾行允許終端用戶過濾數(shù)據(jù)。終端用戶應(yīng)在行內(nèi)鍵入文本以應(yīng)用過濾條件。
自動(dòng)過濾行被隱藏。將TableView.ShowAutoFilterRow屬性設(shè)置為true以激活自動(dòng)過濾行。
當(dāng)終端用戶修改自動(dòng)過濾行單元格的文本時(shí),GridControl會(huì)立即更新該列的過濾條件。將ColumnBase.ImmediateUpdateAutoFilter屬性設(shè)置為false以禁用列的自動(dòng)更新。在這種情況下,要更新單元格,終端用戶應(yīng)該按回車鍵或聚焦另一個(gè)單元格。
清空自動(dòng)過濾行的文本以刪除過濾器。
自動(dòng)過濾行設(shè)置
可用性
使用ColumnBase.AllowAutoFilter屬性來指定是否可以用自動(dòng)過濾行過濾此列的值。如果此屬性設(shè)置為false,則自動(dòng)過濾行中的相應(yīng)單元格將被禁用。
比較運(yùn)算符類型
ColumnBase.AutoFilterCondition屬性允許你指定列的比較操作符類型(包含、等于或相似)。
標(biāo)識(shí)符
自動(dòng)過濾行的句柄標(biāo)識(shí)這一行。使用靜態(tài)GridControl.AutoFilterRowHandle字段來獲取句柄。
行數(shù)據(jù)
使用ColumnBase.AutoFilterValue屬性來獲取或設(shè)置自動(dòng)過濾行的列值。
篩選條件選擇器
將ColumnBase.ShowCriteriaInAutoFilterRow屬性設(shè)置為true,以啟用過濾標(biāo)準(zhǔn)選擇器。該選擇器允許終端用戶將所需的標(biāo)準(zhǔn)類型應(yīng)用到所需的列中。
將TableView.ShowCriteriaInAutoFilterRow(TreeListView.ShowCriteriaInAutoFilterRow)屬性設(shè)置為true,以啟用所有列的過濾標(biāo)準(zhǔn)選擇器。
濾波器行延時(shí)
你可以用DataViewBase.FilterRowDelay屬性指定過濾延遲時(shí)間,單位是毫秒。以下代碼示例創(chuàng)建了一個(gè)具有1秒列過濾延遲的GridControl。
<dxg:GridControl ItemsSource="{Binding Customers}"> <dxg:GridControl.View> <dxg:TableView ShowAutoFilterRow="True" FilterRowDelay="1000"/> </dxg:GridControl.View> </dxg:GridControl>過濾器條件更新模式
當(dāng)終端用戶修改自動(dòng)過濾行的文本時(shí),GridControl會(huì)更新過濾條件。您可以將ColumnBase.ImmediateUpdateAutoFilter屬性設(shè)置為false以禁用列的自動(dòng)更新。在這種模式下,當(dāng)終端用戶按下Enter鍵或聚焦其他單元格時(shí),過濾條件就會(huì)被應(yīng)用。
<dxg:GridControl ItemsSource="{Binding Customers}"> <dxg:GridControl.View> <dxg:TableView ShowAutoFilterRow="True"/> </dxg:GridControl.View> <dxg:GridColumn FieldName="Name" ImmediateUpdateAutoFilter="False"/> </dxg:GridControl>過濾標(biāo)準(zhǔn)
單元格的過濾標(biāo)準(zhǔn)取決于ColumnBase.AutoFilterCondition和ColumnBase.AutoFilterCriteria屬性。
- 當(dāng)ColumnBase.AutoFilterCriteria屬性不為空時(shí),自動(dòng)過濾行使用該屬性中指定的標(biāo)準(zhǔn)。
- 如果ColumnBase.ShowCriteriaInAutoFilterRow屬性設(shè)置為true,則自動(dòng)過濾行使用ColumnBase.AutoFilterCriteria屬性,并忽略ColumnBase.AutoFilterCondition屬性。
- 當(dāng)ColumnBase.AutoFilterCriteria為空時(shí),自動(dòng)過濾行根據(jù)列類型和ColumnBase.ColumnFilterMode選擇一個(gè)過濾條件。
- 當(dāng)ColumnBase.AutoFilterCriteria屬性為空時(shí),自動(dòng)過濾行使用ColumnBase.AutoFilterCondition。
- 如果一個(gè)單元格的ColumnBase.EditSettings屬性是CheckEditSettings,那么過濾標(biāo)準(zhǔn)就是Equals。ColumnBase.ColumnFilterMode、ColumnBase.AutoFilterCondition和ColumnBase.AutoFilterCriteria屬性被忽略。
- 如果一個(gè)單元格的ColumnBase.ColumnFilterMode屬性是DisplayText或ColumnBase.FieldType屬性是String,則過濾條件是StartsWith。
- 如果一個(gè)單元格的ColumnBase.FieldType屬性是byte[],則過濾條件是IsNotNull。
- 如果單元格的ColumnBase.ShowCriteriaInAutoFilterRow屬性為true,則過濾條件為Equals。
- 如果單元格的ColumnBase.ShowCriteriaInAutoFilterRow屬性為false,則過濾條件為StartsWith。