Click here to Skip to main content
11,802,442 members (56,010 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C# Windows form
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 11-Feb-13 1:14am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

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!):

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;

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

  Print Answers RSS
0 OriginalGriff 475
1 KrunalRohit 366
2 F-ES Sitecore 295
3 Afzaal Ahmad Zeeshan 230
4 CHill60 220
0 OriginalGriff 2,950
1 Maciej Los 1,910
2 KrunalRohit 1,862
3 CPallini 1,645
4 Richard MacCutchan 1,157

Advertise | Privacy | Mobile
Web03 | 2.8.151002.1 | Last Updated 12 Feb 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100