如何通过不同于数据源的文本过滤 ASPxGridView

How to filter ASPxGridView by text that is different from data source

我的网页上有一个 DevExpress AspGridView,我正在使用包含的过滤器行。我遇到的问题是,我将显示文本的值从整数更改为数组中的某个相应字符串(整数成为数组索引),但是筛选行不按新的显示文本值排序。在过滤器行中输入内容时,它会尝试搜索整数而不是字符串。

这是用于更改单元格中文本的代码

gv.HtmlDataCellPrepared += (sender, e) =>
        {
            if (e.DataColumn.FieldName == "FOO_STATUS")
            {
                e.Cell.Text = STATUS[int.Parse(e.GetValue("FOO_STATUS").ToString())];
            }
        };

通过 ASPxGridView.CustomColumnDisplayText 事件指定自定义网格单元格的文本(而不是 ASPxGridView.HtmlDataCellPrepared 事件)并将相应列的 Settings.FilterMode 属性 设置为 DisplayText:

<dx:ASPxGridView ... OnCustomColumnDisplayText="OnCustomColumnDisplayText">
    <Columns>
        ...
        <dx:GridViewDataSpinEditColumn FieldName="FOO_STATUS">
            <Settings FilterMode="DisplayText" />
        </dx:GridViewDataSpinEditColumn>
    </Columns>
</dx:ASPxGridView>

//CS    
protected void OnCustomColumnDisplayText(object sender, ASPxGridViewColumnDisplayTextEventArgs e) {
    if (e.Column.FieldName == "FOO_STATUS") {
        e.DisplayText = STATUS[int.Parse(e.GetFieldValue("FOO_STATUS").ToString())];
    }
}

'VB
Protected Sub OnCustomColumnDisplayText(ByVal sender As Object, ByVal e As ASPxGridViewColumnDisplayTextEventArgs)
    If e.Column.FieldName Is "FOO_STATUS" Then
        e.DisplayText = STATUS(Integer.Parse(e.GetFieldValue("FOO_STATUS").ToString()))
    End If
End Sub