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 16: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 505
1 Maciej Los 325
2 Richard MacCutchan 265
3 Mathew Soji 220
4 BillWoodruff 210
0 OriginalGriff 8,804
1 Sergey Alexandrovich Kryukov 7,457
2 DamithSL 5,689
3 Maciej Los 5,279
4 Manas Bhardwaj 4,986


Advertise | Privacy | Mobile
Web01 | 2.8.1411028.1 | 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