更改列编辑器类型而不更改 GridControl 中的过滤器编辑器类型

Change column editor type without changing filter editor type in GridControl

我定义了以下 GridColumn:

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

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

您需要设置 GridColumn.FilterMode property to 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
    }
}