1

我在使用货币值的 RadGridView 中定义了一个数据列。这是定义:

<telerik:GridViewDataColumn UniqueName="WSA" Header="WSA" DataMemberBinding="{Binding TicketSalesRolling12WeekAvg, Converter={StaticResource DollarFormatConverter}}">
    <telerik:GridViewDataColumn.CellStyle>
        <Style TargetType="telerik:GridViewCell">
            <Setter Property="HorizontalAlignment" Value="Right"/>
        </Style>
    </telerik:GridViewDataColumn.CellStyle>
</telerik:GridViewDataColumn>

由于现在定义了该列,因此在过滤器对话框中我无法输入十进制值。所以,像“$ 2.99”这样的东西不会起作用,因为它不会让我输入小数点(或美元符号,就此而言)。

我尝试使用字符串类型作为支持字段;效果很好。但后来我失去了数字过滤条件,而是看到了字符串过滤条件(“包含”、“开始于”等)。用户想要查看数字过滤条件,这导致了我目前的困境。

我想如果我可以访问过滤器对话框模板,也许我可以从那里操作。

有任何想法吗?

4

1 回答 1

1

问题已解决。只需将列的 DataType 定义为“double”。

var gridViewBoundColumnBase = cisidsRadGridView.Columns["WSA"] as GridViewBoundColumnBase;
if (gridViewBoundColumnBase != null)
{
    gridViewBoundColumnBase.DataType = typeof (double);
}
于 2011-09-30T16:50:40.897 回答