Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Find a specific object in a generic List collection

Posted on 2014-02-21
15
Medium Priority
?
402 Views
Last Modified: 2014-02-25
I want to read the database into a generic List, and then compare the specific object in this List with other value.  I found a web site to show how to read database into generic List and bind gridview into generic list.

http://www.aspsnippets.com/Articles/How-to-bind-GridView-with-Generic-List-in-ASPNet-using-C-and-VBNet.aspx

But, I want to know how to find an object where CustomerId="10".  I used ASP.NET in VB, not C#, I need sample code.  Thank you.
0
Comment
Question by:5281
[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
  • 8
  • 7
15 Comments
 
LVL 64

Accepted Solution

by:
Fernando Soto earned 2000 total points
ID: 39877742
Hi 5281;

The following code snippet using the info from the link you posted should do what you want.

Dim findCust As String = "10"
Dim customer As Customer = (From c in customers _
                            Where c.CustomerId = findCust _
                            Select c).SingleOrDefault()

Open in new window

0
 

Author Comment

by:5281
ID: 39877861
Thanks.  Where should I put that code snippet in the application?  Could you merge part of original code with your code together?  So I know where to add it?  Thank you.
0
 
LVL 64

Expert Comment

by:Fernando Soto
ID: 39877882
Seeming that the code you requested finds a single record within a list of records. It can be placed in the code where you have access to the, List<Customers> customers, and know which CustomerId you are looking for and that those variables have been populated.
0
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

 

Author Comment

by:5281
ID: 39877988
What does this code snippet return?   In your snippet, Dim customer as Customer, is customer a class?  How can I use customer (the result of query)?  Could you provide some code sample?  

The gridview is binded with generic list now.  How can I access the full record? Could you provide some code sample?

Thank you.
0
 
LVL 64

Expert Comment

by:Fernando Soto
ID: 39878031
To your question, "What does this code snippet return?", it returns a single instance of a Customer object if any exist in the list that match the criteria stored in the variable findCust or a null value if none were found.

To your question, "In your snippet, Dim customer as Customer, is customer a class?", customer is an instantiated object which is of type Customer class.

To your question, "How can I use customer (the result of query)?",
Console.WriteLine("Customer ID is = " & customer.CustomerId)
Console.WriteLine("Contact Name is = " & customer. ContactName)
Console.WriteLine("City of customer is = " & customer.City)
Console.WriteLine("Country is = " & customer.Country)

Open in new window

0
 

Author Closing Comment

by:5281
ID: 39878092
Thank you.
0
 
LVL 64

Expert Comment

by:Fernando Soto
ID: 39878140
Not a problem, glad to help.
0
 

Author Comment

by:5281
ID: 39886432
Fernando Soto,

If query produces multiple records (multiple customers), how to loop throug each record?  sample code please.  I will create a new question if you like.  Thanks.
0
 
LVL 64

Expert Comment

by:Fernando Soto
ID: 39886566
Hi 5281;

Sorry I assume that you were querying the Customer table with a CustomerId, primary key, and thus should be the only one, apparently that's not the case, the following code snippet should return a List of Customers from the query.

Dim findCust As String = "10"
Dim customer As List(Of Customer) = (From c in customers _
                                     Where c.CustomerId = findCust _
                                     Select c).ToList()

Open in new window

0
 

Author Comment

by:5281
ID: 39886914
Thanks.  But how to get the specific object for that list (customer)?  How to write that loop to get the specifc item, like Contact Name, city?
0
 

Author Comment

by:5281
ID: 39886946
I can use this way.  

For Each Item In customer

                        Response.Write(Item.ContactName & " ")
                        Response.Write(Item.City & " ")
Next
0
 
LVL 64

Expert Comment

by:Fernando Soto
ID: 39886967
Hi 5281;

Just iterate through the collection of customer As shown in the code snippet below.

                                     
For Each row in customer
    Console.WriteLine("Contact Name : " & row.ContactName)
    ' ...
    Console.WriteLine("City : " & row.City
Next

Open in new window

0
 
LVL 64

Expert Comment

by:Fernando Soto
ID: 39886973
Yes, that is the way.
0
 

Author Comment

by:5281
ID: 39886995
Thanks a lot.
0
 
LVL 64

Expert Comment

by:Fernando Soto
ID: 39887004
Not a problem, glad to help.
0

Featured Post

Enroll in September's Course of the Month

This month’s featured course covers 16 hours of training in installation, management, and deployment of VMware vSphere virtualization environments. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

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

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…

730 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