Связывание DataGridView с данными LINQ запроса

голоса
0

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

Я пытаюсь связать DataGridView с данными из запроса 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 ничего не показывает), Eventhough запрос делает возвращать данные.

Когда я изменить код, как показано ниже, на самом деле 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();
    }

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

Задан 19/09/2018 в 13:20
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more