Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
ListView in Virtual mode
Message
General information
Forum:
ASP.NET
Category:
Other
Environment versions
Environment:
C# 2.0
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01507445
Message ID:
01507890
Views:
31
>>>>>Linq? :
ListViewItem v = (ListViewItem) (from ListViewItem lvi in MyList where lvi.Text == e.Text select lvi).FirstOrDefault();
>>>>
>>>>Hi Viv, thanks for that , what I need is the index of the ListViewItem - but I can get it from the item - thanks again
>>
>>int index = (int)(from ListViewItem lvi in MyList where lvi.Text == e.Text select lvi.Index).FirstOrDefault();
>>
>>>(will be 0 if not found)

>>
>>0? If that's the case, how can you distinquish an index to the first item from one that's not found?
>
>Duh. It's picking up the default int. Maybe:
int index = MyList.Where(i => i.Text == e.Text).Select(i => i.Index).DefaultIfEmpty(-999).FirstOrDefault();
but at that point it's not much of an improvement on the original

Hi Viv, thanks for your replies - I've tried
int index = (int)(from ListViewItem lvi in MyList where lvi.Text == e.Text select lvi.Index).FirstOrDefault();
but for some reason it doesn't work consistently - it finds the first item I search for but fails to find others I know are in the list - if I re-search the original item then look for another one - it *sometimes* finds it but not always. What I've found always works is this
e.Index = MyList.FindIndex(i => i.Text == e.Text);
Any ideas as to why this is happening ? Thanks again for your help
Regards,
Peter J. Kane



Pete
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform