Click here to Skip to main content
15,881,793 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi everyone,

I wrote an application that reads two CSV files(Entry and Exit) which contains 11 columns each and displays them using two datagridviews on a single window. There are multiple entries per person (record). Now, my windows form app must be able to create a summary which will contain just a single instance of each person, and show their first entry(time) from the first CSV and a their last entry from the same CSV, any ideas?
Posted

1 solution

I guess you are using dataset (datatable) or some list to store the data after you read from CSV. If that is the case use a sequence column that shows the sequence of the records readed from the CSV. After this you can use linq to make query on this dataset or list. First get the list of the distinct names and then you can query on the sorted list to get the last and the first item. Something liek this (I did not tested!):

C#
var DistinctUsers = (from i in table.AsEnumerable() select new { name = i.Field<string>("UserName") }).Distinct();

                 //foreach DistinctUsers....

                 var firstLast = from i in table.AsEnumerable() orderby i.Field<int>("SeqNumber") select i;

                 firstLast.First();

                 firstLast.Last();
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900