Почему я не могу отобразить данные в DataGrid после выполнения лямбда-выражения? - PullRequest
2 голосов
/ 06 сентября 2010

У меня есть таблица данных.Если я установлю DataSource для DataGrid в таблицу данных, он будет отображать все данные очень хорошо.Однако, если я использую лямбда-выражение для фильтрации некоторых данных, а затем переназначаю источник данных, он ничего не отображает.Это то, что я пробовал ...

var AllPeople = 
    from r in CompanyDataTable.AsEnumerable()
    select new
    {
        FirstName = r.Field<string>("FirstName"),
        LastName = r.Field<string>("LastName"),
        Gender = r.Field<string>("Gender"),
        Age = r.Field<double>("Age"),
        City = r.Field<string>("City"),
        State = r.Field<string>("State"),
        Cagegory = r.Field<string>("CategoryGroup"),
    };

SomeDataGrid.DataSource = AllPeople;

Это компилируется просто отлично и тоже хорошо работает, но сетка данных пуста.Если я приостанавливаю выполнение после выполнения лямбда-выражения, я вижу, что AllPeople содержит список данных, которые просто не отображаются.Использование AsEnumerable мешает вам использовать данные в сетке данных или что-то в этом роде?Как я могу это исправить?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

При настройке источника данных, который вы пропустили для преобразования в список

var AllPeople = 
    (from r in CompanyDataTable.AsEnumerable()
    select new
    {
        FirstName = r.Field<string>("FirstName"),
        LastName = r.Field<string>("LastName"),
        Gender = r.Field<string>("Gender"),
        Age = r.Field<double>("Age"),
        City = r.Field<string>("City"),
        State = r.Field<string>("State"),
        Cagegory = r.Field<string>("CategoryGroup"),
    }).ToList();

или

SomeDataGrid.DataSource = AllPeople.ToList();
2 голосов
/ 06 сентября 2010

Пример, который вы опубликовали, не является примером лямбда-выражения, это запрос LINQ.

Вы вызывали Databind для своей таблицы данных после настройки источника данных? Вам может понадобиться только следующее:

SomeDataGrid.DataBind()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...