Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

List views in VB.NET

Posted on 2009-05-19
4
Medium Priority
?
171 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 1500 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 1500 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

The Orion Papers

Are you interested in becoming an AWS Certified Solutions Architect?

Discover a new interactive way of training for the exam.

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…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

671 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