Solved

List views in VB.NET

Posted on 2009-05-19
4
169 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Why You Need a DevOps Toolchain

IT needs to deliver services with more agility and velocity. IT must roll out application features and innovations faster to keep up with customer demands, which is where a DevOps toolchain steps in. View the infographic to see why you need a DevOps toolchain.

Question has a verified solution.

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

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

752 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