更改列编辑器类型,而不更改GridControl中的筛选器编辑器类型

本文关键字:类型 编辑器 筛选 GridControl | 更新日期: 2023-09-27 18:00:43

我定义了以下GridColumn:

new GridColumn{
    Visible = true,
    FieldName = "blah",
    Name = "blah",
    ColumnEdit = new RepositoryItemGridLookUpEdit{
        DisplayMember = "Name",
        ValueMember = "Id",
        DataSource = ViewModel.Components
    }
}

这可以很好地工作,并将我的blah列的编辑器更改为正确的编辑器,但它也有一个不需要的副作用,即将该列的AutoFilterRow编辑器更改为相同的GridLookUpEdit。我希望过滤器只是一个常规的文本编辑字段。我怎样才能做到这一点?

更改列编辑器类型,而不更改GridControl中的筛选器编辑器类型

您需要将GridColumn.FilterMode属性设置为ColumnFilterMode.DisplayText值,它将允许按其DisplayText过滤列中的值,因此AutoFilterRow中的字段编辑器将更改为常规文本编辑器:

new GridColumn {
    Visible = true,
    FieldName = "blah",
    Name = "blah",
    FilterMode = ColumnFilterMode.DisplayText, //<= filter mode
    ColumnEdit = new RepositoryItemGridLookUpEdit{
        DisplayMember = "Name",
        ValueMember = "Id",
        DataSource = ViewModel.Components
    }
}