[VB.NET] data uit databank kleur geven

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben momenteel een kosten programma aan het maken voor mijn eigen bedrijf. Ik werk in Visual Studio en programmeer in VB.NET met access als achterliggende databank.

Ik heb een listbox waarin ik alle kosten laat weergeven uit de databank. Dit doe ik zo:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim col As New Collection
        Dim dv As New DataView(dsMain.Tables("tblKost"))
        dv.Sort = "datum_ontvangen DESC"
        For Each drv As DataRowView In dv
            Dim tmpString As String = ""
            Dim tempKost As New bsKosten
            With tempKost
                tmpString += CStr(drv.Item("datum_ontvangen")).ToUpper & " | "
                If CInt(drv.Item("betaald")) > 0 Then
                    tmpString += CStr(drv.Item("bedrag")) & ChrW(8364) & " | "
                Else
                    tmpString += CStr(drv.Item("bedrag")) & ChrW(8364) & " | "
                End If
                tmpString += CStr(drv.Item("mededeling")).ToUpper
            End With
            col.Add(tmpString)
        Next
        Return col


Dit resultaat laat ik weergeven in de listbox. Nu vraag ik me al een paar dagen af hoe ik een betaalde kost groen kan laten weergeven als tekstkleur en een onbetaalde kost rood. Een betaalde kost heeft in de databank een attribuut betaald = 1, een onbetaalde kost is betaald = 0. Ik heb al een IF structuur toegevoegd, maar aan dat bedrag kan ik geen eigenschap toevoegen, .color=red bijvoorbeeld. Op google vind ik veel voorbeelden hoe de tekst kleur in een listbox te veranderen, maar nergens hoe je dat vooraf kan doen als je de gegevens ophaalt van de databank.

Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 16:52
Dit is niet mogelijk met een standaard listbox. Waar je eens naar kunt kijken is een listview in de list-modus, daarmee kan dat wel, maar die zit iets ingewikkelder inelkaar.

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Misschien niet geheel onbelangrijk: Gebruik je WPF of Windows.Forms?

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="UntitledProject1.Window1"
    x:Name="Window"
    Title="Window1"
    Width="640" Height="480">

    <Grid x:Name="LayoutRoot">
        <ListBox>
            <ListBoxItem Background="Red">Blah</ListBoxItem>
            <ListBoxItem>Blah2</ListBoxItem>
            <ListBoxItem Background="Green">Blah3</ListBoxItem>
        </ListBox>
    </Grid>
</Window>


Geeft dit resultaat:
Afbeeldingslocatie: http://tweakers.net/ext/f/gDZIMX1P9A9ZqsDsOVFORsl5/thumb.png

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik weet dat je een listbox item een bepaalde kleur kan geven, maar dat kan hier niet gebruikt worden. De listbox wordt zo geladen:

code:
1
lstKosten.DataSource = kosten.getall()


En dan kom je uit op de code hierboven. Dus ik kan nergens iets zetten van "listbox item background".

Het probleem is dat hij eerst in de databank kijkt, bepaalde attributen samen in een string plakt (datum | bedrag | mededeling), en dit voor zover er records zijn, dus je krijgt meerdere strings, die worden in een collectie geplaatst, en die collectie wordt weergegeven in de listbox.

Ik vreesde er dus al voor dat ik in die string geen kleur ofzo kan meegeven. Ik zal eens onderzoeken wat listview is.

Ik gebruik windows.forms.

Acties:
  • 0 Henk 'm!

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 06-09 16:30

Swerfer

Hmm...

Misschien je listbox met een for each loop vullen uit je collection en dan de juiste kleur attributen mee geven...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

http://msdn.microsoft.com...rms.listbox.drawitem.aspx

Tis niet zo gemakkelijk in Windows.Forms blijkbaar.

Going for adventure, lots of sun and a convertible! | GMT-8

Pagina: 1