проблема с оператором LINQ с использованием RadComboBox и RadListBox - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть это поле со списком rad (aka dropdownlist) с элементами "count" "sum" "max" "min", которые я добавляю к элементу управления RadListBox, так что он выглядит как "Count (column1)" на rcListBoxColumns2.затем я пишу свой код следующим образом и не получаю результата:

var ddlFunc = from cp in ddlFunctions.Items.ToList() select cp;
var rcLBC = from p in rcListBoxColumns2.Items.ToList() select p;


havingFilters.DataSource = (from p in rcLBC.ToList()
                                        from x in ddlFunc.ToList()
                                        where p.Value.Contains(x.Value)
                                        select new { Value = p.Value, Text = p.Text }).Distinct().ToList();

Я могу использовать отладчик и посмотреть на ddlFunc, а также на rcLBC, и я заметил, что в rcLBC есть значения, которые должны "содержать" значения раскрывающегося списка, номой результат - ВСЕ выбранные элементы.Не могу понять, почему оператор содержимого не фильтровал его.Любые идеи кто-нибудь?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2011

Я только что решил, очевидно, мои ddlFunctions имели значение "" <- пустая строка. Это заставило функцию string.contains возвращать true для любой строки. </p>

0 голосов
/ 02 февраля 2011

Я предполагаю, что вы пытаетесь отфильтровать Value, поэтому попробуйте это:

havingFilters.DataSource = (
    from p in rcLBC
    where (
        from x in ddlFunc
        where p.Value.Contains(x.Value)
        select x).Any()
    select new
    {
        Value = p.Value,
        Text = p.Text
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...