Как разрешить десятичные значения в диалоге фильтра Telerik Silverlight GridViewDataColumn? - PullRequest
1 голос
/ 30 сентября 2011

У меня есть столбец данных, определенный в 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» не будет работать, потому что не позволит мне ввести десятичную точку (или знак доллара).

Я пытался использовать строковый тип в качестве вспомогательного поля; это отлично работает Но затем я теряю условия числового фильтра и вместо этого вижу условия строкового фильтра («содержит», «начинается с» и т. Д.). Пользователь хочет видеть условия числового фильтра, что приводит меня к моей текущей дилемме.

Я полагаю, что если я смогу получить доступ к шаблону диалогового окна фильтра, возможно, я смогу что-то там отрегулировать.

Есть идеи?

1 Ответ

1 голос
/ 30 сентября 2011

Проблема решена. Просто определите столбец DataType как "double".

var gridViewBoundColumnBase = cisidsRadGridView.Columns["WSA"] as GridViewBoundColumnBase;
if (gridViewBoundColumnBase != null)
{
    gridViewBoundColumnBase.DataType = typeof (double);
}
...