Проблема с фильтрами LINQ в Telerik RadGrid - PullRequest
1 голос
/ 15 сентября 2010

У меня проблема с использованием Telerik RadGrid.Когда я применяю фильтр к столбцу данных, я использую выражение фильтра в качестве выражения Linq.Поэтому (на стороне сервера) я анализирую его с помощью Dynamic Linq (из примеров MIcrosoft LINQ) в обработчике NeedDataSource.Проблема в том, что когда я указываю «Начать с» в качестве фильтра, я получаю следующее как «выражение Linq»:

(iif(Name == null, "", Name).ToString().StartsWith("A"))

Что такое «iif» ????Что соответствует "iif" ????Использование очевидно: обработка нулей ....

Странно то, что когда я применяю фильтр к сетке, которая загружает данные из веб-служб, а не из обратного вызова на стороне сервера, все работает, и эта проблема неподнять.Два способа, две функции синтаксического анализа, не только общие.

Есть идеи?Заранее спасибо

1 Ответ

0 голосов
/ 15 сентября 2010

В Dynamic LINQ iif(x,y,z) - это другой синтаксис для троичного числа, если x ? y : z, то же самое имя было , используемое в VB в течение некоторого времени («Немедленный IF»)

В данном случае это выглядит как оператор слияния нуля ?? , но, похоже, что Dynamic LINQ не поддерживает этот

(Name ?? string.Empty).ToString().StartsWith("A")

Может быть, попытаться заменить IIF троичной нотацией? Можете ли вы уточнить, какая именно ошибка происходит?

...