[VB6] Hoe een listview toevoegen

Pagina: 1
Acties:

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Misschien echt een heel simpele vraag maar het lukt me maar niet om het goede component te vinden. Maar waar kan ik ergens een listview aanmaken. Onder "Components" heb ik al gezocht maar ik kan niks zinnigs vinden.

Ook als ik binnen MSDN zoekt krijg ik alleen maar code voor de listview maar nergens staat er hoe ik zo'n listview moet toevoegen!

Tevens heb ik meteen de vraag of het mogelijk is om binnen een listview de data die in de cellen staan aan te passen?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Tevens heb ik meteen de vraag of het mogelijk is om binnen een listview de data die in de cellen staan aan te passen?
ja.

https://fgheysels.github.io/


  • raoulduke
  • Registratie: Oktober 2003
  • Niet online

raoulduke

Get in!

ListView zit in een Microsoft Common Controls library, als je die toevoegt kan je ListView gebruiken.

Remember, if you have any trouble you can always send a telegram to the Right People.


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
raoulduke schreef op 23 juni 2004 @ 10:51:
ListView zit in een Microsoft Common Controls library, als je die toevoegt kan je ListView gebruiken.
Mmm of ik doe het fout of ik snap het niet echt.

Ik heb net in het rijtje van componenten gekeken en daar zie ik alleen iets wat er op lijkt maar het is het zeker niet. En dat is de "Microsoft Common Dialog Control 6.0".

Weet iemand toevallig in welke .ocx dit zit, dan kan ik het misschien op die manier proberen?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Een ListView is toch gewoon een Win32 control ?

https://fgheysels.github.io/


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Ja ik weet het!

Na een tijdje zitten zoeken op MSDN ben ik er achter gekomen dat deze in het component "Microsoft Windows Common Controls 6.0 (SP6)" zit samen met nog een aantal items zoals tabbladen progresbars etc. etc.

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
whoami schreef op 23 juni 2004 @ 11:03:
Een ListView is toch gewoon een Win32 control ?
VB controls zijn geen standaard windows controls, het zijn COM wrappers rond die controls. Vandaar ....

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Ik heb nu alles netjes voor elkaar maar nu zie ik dat ik alleen het eerste veld in elk record kan wijzigen. Ik heb een beetje zitten spelen met de variabelen van die listview maar ik kan nergens instellen hoe ik alle velden kan wijzigen?

Wie weet hoe ik dat wél kan doen?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Een ListViewItem heeft een SubItems property. Kijk daar eens naar.

https://fgheysels.github.io/


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Mmm, volgens mij begrijp ik het niet helemaal meer :/

Ik heb nu:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
lvwDB.ListItems.Clear
lvwDB.ColumnHeaders.Clear
lvwDB.ColumnHeaders.Add , , "Maand", 1000
lvwDB.ColumnHeaders.Add , , "Jaar", 700
lvwDB.ColumnHeaders.Add , , "Uren", 1000

Set Conn = CreateObject("ADODB.connection")
Set RS = CreateObject("ADODB.Recordset")
Conn.Open DSNCONNSTRING
RS.Open "SELECT * FROM Uren", Conn, adOpenStatic, adLockReadOnly, adCmdText
    
Do While Not RS.EOF
    Set mItem = lvwDB.ListItems.Add()
    mItem.Key = "Id" & RS("Id")
    Maand = MonthName(Month(RS("Datum")), False)
    Jaar = DatePart("yyyy", RS("Datum"))
    mItem.Text = Maand
    mItem.SubItems(1) = Jaar
    mItem.SubItems(2) = RS("Uren")
    RS.MoveNext
Loop
    
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing

En nu wil ik eigenlijk dat ik de derde kolom (uren) kan wijzigen daar te dubbelklikken en aanpassen. Als ik dan de selectie opheft moet hij auto in de database worden gezet. Dit is denk niet zo'n probleem, maar ik kan nu alleen de eerste kolom aanpassen.

Maar helaas omdat ik een Set mItem moest doen krijg ik niet meer na het invoeren van een punt achter de mItem.SubItems extra opties. Maar als ik type lvwDB. dan krijg ik daar niet de functie SubItems. Dus kan ook niet op die manier achterhalen of ik nog het één en ander kan uitspoken.

Maar ik denk dat ik het zo gaat maken dat als ik op een regel klikt dat ik een extra form krijgt te zien met daarin me veldjes van de database, dat is misschien wel beter voor mijn programma.

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Polderdijk schreef op 23 juni 2004 @ 16:04:
En nu wil ik eigenlijk dat ik de derde kolom (uren) kan wijzigen daar te dubbelklikken en aanpassen. Als ik dan de selectie opheft moet hij auto in de database worden gezet. Dit is denk niet zo'n probleem, maar ik kan nu alleen de eerste kolom aanpassen.
Ah, dat kan je niet afaik. Door erop te dubbelklikken kan je enkel de eerste kolom aanpassen.
Wat je wel kan doen is; als je dubbelklikt op een listitem; een custom formpje tonen waarop je die waarden kan aanpassen.
Als je daar dan op OK klikt, kan je die waarden doorvoeren naar je ListView.
Maar ik denk dat ik het zo gaat maken dat als ik op een regel klikt dat ik een extra form krijgt te zien met daarin me veldjes van de database, dat is misschien wel beter voor mijn programma.
Hm, ok dus. :+

https://fgheysels.github.io/

Pagina: 1