Solved

WPF Master detail grids using LINQ

Posted on 2013-11-15
7
491 Views
Last Modified: 2016-02-10
Hi guys,

What is the easiest way to achieve my goal? Should I have 2 linq queries run when the program is launched and save the results in a public list and then assign a list to each of the grids? Then have a selected row change event acting as a filter to the child's list?

Hope that makes sense?

Thanks,
Dean.

p.s I should mention that these grids will be used to add, remove and edit data.
0
Comment
Question by:deanlee17
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 39652591
What if I just said, "Yes"...would that suffice?
0
 

Author Comment

by:deanlee17
ID: 39653193
Hi TheLearnedOne,

haha you could just say "Yes", is this the way you would done it?
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 39653355
If you are a cat lover, then I apologize for the statement, "there are many ways to skin a cat".  I assume that you are using ObservableCollection, and that you are binding to the grids dynamically in code.
0
SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

 

Author Comment

by:deanlee17
ID: 39655694
haha I don't like cats, but I wouldn't skin one. Either way i'm not offended.

This is how I am binding....

private void LoadEnquiryHeader()
        {
            using (var context = new AscentEntities())
            {
                grdEnquiryHeader.ItemsSource = context.Qte_Header;
            }
        }

        private void LoadEnquiryFooter()
        {
            using (var EnqFooter = new AscentEntities())
            {

                var EnqFooterVar = (from d in EnqFooter.Qte_Lines where d.LinesAstuteRef == Instance_EnquiryCustomer.AstuteRef select d).ToList();

                grdEnquiryLines.ItemsSource = EnqFooterVar;

            }
        }

Open in new window

0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
ID: 39656278
I prefer Lambda expressions to LINQ queries in most cases:

var EnqFooterVar = EnqFooter.Qte_Lines
    .Where(lines => lines.LinesAstuteRef == Instance_EnquiryCustomer.AstuteRef)
    .ToList();

Open in new window

0
 

Author Comment

by:deanlee17
ID: 39656286
Do they run any faster? Or just personal preference?
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 39656590
LINQ queries compile into Lambda expressions, so it is personal preference.  I just feel that they are a cleaner way of approaching the same thing.  This is contrary to what others believe, but I don't mind being different.

Query Syntax and Method Syntax in LINQ (C#)
http://msdn.microsoft.com/en-us/library/vstudio/bb397947.aspx

Query syntax and method syntax are semantically identical, but many people find query syntax simpler and easier to read. Some queries must be expressed as method calls. For example, you must use a method call to express a query that retrieves the number of elements that match a specified condition. You also must use a method call for a query that retrieves the element that has the maximum value in a source sequence. The reference documentation for the standard query operators in the System.Linq namespace generally uses method syntax. Therefore, even when getting started writing LINQ queries, it is useful to be familiar with how to use method syntax in queries and in query expressions themselves.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question