Solved

List views in VB.NET

Posted on 2009-05-19
4
165 Views
Last Modified: 2013-11-26
Afternoon,

I'm trying to change the row colour in a list view when the items become older than 30 days.  Well that may change i can play wiht that later but initially i though it would be simple, but the colour doesn't change.  Can anyone see what's wrong with my code?
LVReturns.Items.Clear()
        For Each ReturnItem In DS.Returns.Rows
            Dim LI As New ListViewItem
            Dim TimeSpan As TimeSpan
            Dim Age As Integer = 0
            TimeSpan = Now.Subtract(ReturnItem.SendDate)
            Age = TimeSpan.Days
            If Age > 30 Then
                LI.ForeColor = Color.Red
                LI.UseItemStyleForSubItems = True
            End If
            LI.Text = Convert.ToString(ReturnItem.ref)
            LI.SubItems.Add(ReturnItem.Name)
            LI.SubItems.Add(ReturnItem.SendDate)
            LI.SubItems.Add(Age)
            LI.SubItems.Add(ReturnItem.Item)
            LVReturns.Items.Add(LI)
        Next

Open in new window

0
Comment
Question by:nick210577
  • 3
4 Comments
 
LVL 39

Accepted Solution

by:
abel earned 500 total points
ID: 24421832
Is this a ListView in ASP.NET or in WinForms? Seems to be the latter, as the UseItemStyleForSubItems  is not available on an ASP.NET listitem.

Are you sure your if-statement is ever hit? You can test by just changing only the very first list item and see if that works.


0
 
LVL 39

Assisted Solution

by:abel
abel earned 500 total points
ID: 24421858
In other words, suppose you do this, is then everything green?

LVReturns.Items.Clear()
        For Each ReturnItem In DS.Returns.Rows
            Dim LI As New ListViewItem
            Dim TimeSpan As TimeSpan
            Dim Age As Integer = 0
            TimeSpan = Now.Subtract(ReturnItem.SendDate)
            Age = TimeSpan.Days
            If Age > 30 Then
                LI.ForeColor = Color.Red
                LI.UseItemStyleForSubItems = True
            Else
                LI.ForeColor = Color.Green
                LI.UseItemStyleForSubItems = True
            End If
            LI.Text = Convert.ToString(ReturnItem.ref)
            LI.SubItems.Add(ReturnItem.Name)
            LI.SubItems.Add(ReturnItem.SendDate)
            LI.SubItems.Add(Age)
            LI.SubItems.Add(ReturnItem.Item)
            LVReturns.Items.Add(LI)
        Next

Open in new window

0
 

Author Closing Comment

by:nick210577
ID: 31582986
Thanks guys...

Embarrassingly i have a couple of LV's on this page and i'd added the code to the wrong one, and none of the lines met that criteria.  Adding the else/ forecolor green highlighted my mistake.  Thanks guys.
0
 
LVL 39

Expert Comment

by:abel
ID: 24422314
(from grading comment)
> Thanks guys...
You're welcome, I (abel) was only one person ;-)

> Embarrassingly i have a couple of LV's on this page and i'd added the code to the wrong > one, and none of the lines met that criteria. Adding the else/ forecolor green highlighted my mistake.

don't let your own mistakes (we all make them, don't feel embarrassed, that's what this site is for, have an extra pair of eyes) cloud your judgment in grading. Please review the 10pts must principle of EE for why this is.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It seems a simple enough task, yet I see repeated questions asking how to do it: how to pass data between two forms. In this article, I will show you the different mechanisms available for you to do just that. This article is directed towards the .N…
Welcome my friends to the second instalment and follow-up to our Minify and Concatenate Your Scripts and Stylesheets (http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/A_4334-Minify-and-Concatenate-Your-Scripts-and-Stylesheets.html)…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question