Связывание сетки данных с данными из запроса LINQ - PullRequest
0 голосов
/ 19 сентября 2018

Я хотел бы заранее извиниться в случае, если мой вопрос был дан ответ раньше (также проблема, вероятно, довольно проста).Я довольно новичок в программировании, и есть большая вероятность, что я не смогу найти ответы в Google, так как я даже не понимаю, в чем проблема на самом деле.

Я пытаюсь связать представление данных с данными иззапрос linq для сущностей (используя Entity Framework).

Я использую этот код для достижения этой цели:

DatabaseModelContainer context = new DatabaseModelContainer();
private void FormDocumentUpdateWT_Load(object sender, EventArgs e)
{
        context.Configuration.ProxyCreationEnabled = false;
        context.DocumentDetailsSet.Load();
        this.documentDetailsBindingSource.DataSource = (from x in context.DocumentDetailsSet.Local
                                                        where x.DocumentHeaderId == currentDocument.Id
                                                        select new 
                                                        {

                                                          x.Inventory.Number,
                                                          x.Amount,
                                                          x.Containers.Name,
                                                          x.Separate,
                                                          x.Kanban

                                                        }).ToList();
        dataGridViewItems.DataSource = documentDetailsBindingSource;
        dataGridViewItems.Update();
        dataGridViewItems.Refresh();
}

К сожалению, это не дает мне никаких результатов (datagridview ничего не показывает), даже если запрос возвращает данные.

Когда я изменяю код, как показано ниже, datagridview фактически обновляется, но (очевидно) у меня не отображаются конкретные свойства моего желания.

 DatabaseModelContainer context = new DatabaseModelContainer();

 private void FormDocumentUpdateWT_Load(object sender, EventArgs e)
    {
        context.Configuration.ProxyCreationEnabled = false;
        context.DocumentDetailsSet.Load();
        this.documentDetailsBindingSource.DataSource = (from x in context.DocumentDetailsSet.Local
                                                        where x.DocumentHeaderId == currentDocument.Id
                                                        select new                                   {
                                                           x.Inventory, //this is changed
                                                           x.Amount,
                                                           x.Containers, // also changed
                                                           x.Separate,
                                                           x.Kanban

                                                        }).ToList();
        dataGridViewItems.DataSource = documentDetailsBindingSource;
        dataGridViewItems.Update();
        dataGridViewItems.Refresh();
    }

Может кто-нибудь объяснить мне, как это работает и как обойти это?Заранее спасибо!

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