VB 2005: ListView - ListViewItem.ListViewSubItem

24/09/2007 - 10:43 von Oskar Vaia | Report spam
Hallo,

ich versuche die BackColor-Eigenschaft einer Spalte eines ListView-Objektes
nach meinen Bedürfnissen zu veràndern.

Hier kurz der Code:

Me.ListView = New ListView

ListView.Bounds = New Rectangle(New Point(16, 40), New Size(365,
100))
ListView.View = View.Details
ListView.LabelEdit = False
ListView.AllowColumnReorder = True
ListView.CheckBoxes = False
ListView.FullRowSelect = True
ListView.GridLines = False

If RateBECs.Count > 0 Then
Dim PosF As Int16
Dim ItemF(RateBECs.Count - 1) As ListViewItem

For PosF = 0 To RateBECs.Count - 1
ItemF(PosF) = New ListViewItem
ItemF(PosF).UseItemStyleForSubItems = False

ItemF(PosF).Text = ""
Dim Spalte1 As ListViewItem.ListViewSubItem =
ItemF(PosF).SubItems.Add(Format(DirectCast(RateBECs.Item(PosF),
RateBEC).Betrag, "#,##0.00"))
Spalte1.BackColor = System.Drawing.Color.LightBlue
Dim Spalte2 As ListViewItem.ListViewSubItem =
ItemF(PosF).SubItems.Add(Format(DirectCast(RateBECs.Item(PosF),
RateBEC).Faelligkeit, "Short Date"))
Spalte2.BackColor = System.Drawing.Color.LightBlue
ItemF(PosF).SubItems.Add(DirectCast(RateBECs.Item(PosF),
RateBEC).Rate)
ItemF(PosF).SubItems.Add(DirectCast(RateBECs.Item(PosF),
RateBEC).SalAcc)
Next PosF

ListView.Columns.Add("", -2, HorizontalAlignment.Left)
ListView.Columns.Item(0).Width = 0
ListView.Columns.Add(" Betrag ", -2,
HorizontalAlignment.Right)
ListView.Columns.Add(" Fàlligkeit ", -2,
HorizontalAlignment.Right)
ListView.Columns.Add("Rate", -2, HorizontalAlignment.Right)
ListView.Columns.Add("Akk./Saldo", -2,
HorizontalAlignment.Center)

For PosF = 0 To ItemF.Length - 1
ListView.Items.Insert(PosF, ItemF(PosF))
Next PosF
Me.Controls.Add(ListView)

End If


Wenn ich das Ganze in einer Windows-Form implementiere, so klappt es mit der
Hintergrundfarbe, in einem Outlook-Add-In (Office 2003) wo es eigentlich
gebraucht wird, bleibt die Hintergrundfarbe weiss. Was mache ich da falsch?
Mir scheint, als würde wohl alles stimmen.

Dank und Grüße

Oskar
 

Lesen sie die antworten

#1 Oskar Vaia
24/09/2007 - 11:12 | Warnen spam
Hallo,

vielleicht ist Folgendes noch wichtig:
die Anwendung làuft in einer virutellen Umgebung mit Virtual PC 2007.
Zudem: wenn das WindowsForm làuft, so sehe ich beim ListView die verànderte
Spalten-Hintergrundfarbe immer noch in weiss; wenn ich dann kurz mit
ALT-Tabluator auf ein anderes Programm wechsle und wieder mit ALT-Tabulator
auf die geöffnete WindowsForm zurückspringe, so ist die
Spalten-Hintergrundfarbe plötzlich in der Farbe, wie ich sie wollte.

Kann dieses Fehlverhalten irgendwie mit Virtual-PC 2007 zu tun haben?

Dank und Grüße

Oskar
"Oskar Vaia" schrieb im Newsbeitrag
news:
Hallo,

ich versuche die BackColor-Eigenschaft einer Spalte eines
ListView-Objektes nach meinen Bedürfnissen zu veràndern.

Hier kurz der Code:

Me.ListView = New ListView

ListView.Bounds = New Rectangle(New Point(16, 40), New Size(365,
100))
ListView.View = View.Details
ListView.LabelEdit = False
ListView.AllowColumnReorder = True
ListView.CheckBoxes = False
ListView.FullRowSelect = True
ListView.GridLines = False

If RateBECs.Count > 0 Then
Dim PosF As Int16
Dim ItemF(RateBECs.Count - 1) As ListViewItem

For PosF = 0 To RateBECs.Count - 1
ItemF(PosF) = New ListViewItem
ItemF(PosF).UseItemStyleForSubItems = False

ItemF(PosF).Text = ""
Dim Spalte1 As ListViewItem.ListViewSubItem =
ItemF(PosF).SubItems.Add(Format(DirectCast(RateBECs.Item(PosF),
RateBEC).Betrag, "#,##0.00"))
Spalte1.BackColor = System.Drawing.Color.LightBlue
Dim Spalte2 As ListViewItem.ListViewSubItem =
ItemF(PosF).SubItems.Add(Format(DirectCast(RateBECs.Item(PosF),
RateBEC).Faelligkeit, "Short Date"))
Spalte2.BackColor = System.Drawing.Color.LightBlue
ItemF(PosF).SubItems.Add(DirectCast(RateBECs.Item(PosF),
RateBEC).Rate)
ItemF(PosF).SubItems.Add(DirectCast(RateBECs.Item(PosF),
RateBEC).SalAcc)
Next PosF

ListView.Columns.Add("", -2, HorizontalAlignment.Left)
ListView.Columns.Item(0).Width = 0
ListView.Columns.Add(" Betrag ", -2,
HorizontalAlignment.Right)
ListView.Columns.Add(" Fàlligkeit ", -2,
HorizontalAlignment.Right)
ListView.Columns.Add("Rate", -2, HorizontalAlignment.Right)
ListView.Columns.Add("Akk./Saldo", -2,
HorizontalAlignment.Center)

For PosF = 0 To ItemF.Length - 1
ListView.Items.Insert(PosF, ItemF(PosF))
Next PosF
Me.Controls.Add(ListView)

End If


Wenn ich das Ganze in einer Windows-Form implementiere, so klappt es mit
der Hintergrundfarbe, in einem Outlook-Add-In (Office 2003) wo es
eigentlich gebraucht wird, bleibt die Hintergrundfarbe weiss. Was mache
ich da falsch? Mir scheint, als würde wohl alles stimmen.

Dank und Grüße

Oskar

Ähnliche fragen