更改列编辑器类型而不更改 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
}
}
我定义了以下 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
}
}