XtraGrid 从版本 3 以上拥有的一项新功能是: 网格视图支持自动行筛选。 一个行被显示在视图的顶部,并且它允许立即筛选数据 —— 通过直接在该行中键入文本。 当最终用户在该行中键入文本时,自动根据输入的取值创建一个筛选标准,并且应用到获得焦点的列。 通过把 GridOptionsView.ShowAutoFilterRow 属性设置为 true,可以激活自动筛选行。 通过 OptionsColumnFilter.AllowAutoFilter 属性,可以为特定列禁用自动筛选行的功能。

在下面的插图中,在自动筛选行的“Shipping Country”列中键入了“s”字符。 视图自动显示在该列中以“s”起始的取值的记录:

筛选面板反映出新的筛选。 如果再继续键入“w”字符,则一个新筛选被创建和应用:

从自动筛选行的单元格中清除文本会移除相应的筛选。

列的 OptionsColumnFilter.AutoFilterCondition 属性允许为通过自动筛选行的特定列所创建的筛选条件指定比较操作的类型 (EQUALS 或 LIKE)。 在默认情况下,LIKE 操作被应用于除去使用 CheckEditLookUpEditImageComboBoxEdit 内置编辑器的列以外的其他所有列。 对于那些列,则始终应用 EQUALS 操作。

OptionsColumnFilter.ImmediateUpdateAutoFilter 属性控制在自动筛选行的单元格被修改之后,筛选是否立即被更新。 如果此属性值被设置为 true (默认值),则筛选条件立即被更新。 否则,最终用户需要按下 ENTER 键或把焦点移动到另一个单元格来强制更新。

自动筛选行可以通过它的行句柄进行标识,它的行句柄由 GridControl.AutoFilterRowHandle 静态属性指定。 可以通过 ColumnView.SetRowCellValue 方法,使用此属性 (注:把属性值作为该方法的参数之一) 来设置该行中的取值,并因此而应用筛选。