Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# LINQ
I have a datatabel, in which I want to find any duplicated record(for example, the mobile phone number). I use following code in LINQ:
var list_mobile = dataTable_QueryResult.Rows.OfType<DataRow>().Select(x => x["mobile"].ToString());
var q_mobile = from x in list_mobile
           group x by x into g
           let count = g.Count()
           orderby count descending
           select new { Value = g.Key, Count = count };
 
foreach (var x in q_mobile)
{
    if (x.Count > 1)
    {
        Label_Alarm.Visible = true;
    }
}
 
It comes an error when some rows have been deleted - visiting the row that has been deleted. I want to use the Where() command to exclude those deleted rows, but I don't know how to code it in LINQ? Could anyone help me this ? Thanks!
Posted 21-Nov-12 15:14pm
daiwuju941

1 solution

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

Solution 1

Hi,
 
I think RowState should work in this case,
 
Please try below code,
dataTable_QueryResult.Rows.OfType<datarow>().Where(s => s.RowState != DataRowState.Deleted).Select(x => x["mobile"].ToString());</datarow>
 
Let me know if it is not working for you, although i have not tried yet.
 
thanks
  Permalink  

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

  Print Answers RSS
0 OriginalGriff 371
1 Sergey Alexandrovich Kryukov 269
2 CB Sharma 79
3 RyanDev 75
4 PhilLenoir 70
0 Sergey Alexandrovich Kryukov 6,676
1 OriginalGriff 6,056
2 CPallini 2,473
3 Richard MacCutchan 1,697
4 Abhinav S 1,560


Advertise | Privacy | Mobile
Web04 | 2.8.140821.2 | Last Updated 23 Nov 2012
Copyright © CodeProject, 1999-2014
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