[VB/MySQL] Checkbox op een datagrid

Pagina: 1
Acties:

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 23-05 21:33
Normaliter werk in in PHP, maar ben momenteel bezig met een VB6 proggie.
Met deze applicatie wil ik een aantal gegevens uit mn online MySQL database halen, hieruit een selectie maken, en met die selectie verder werken.
Het ophalen van de gegevens is geen enkel probleem met behulp van MyODBC, maar daarna beginnen de problemen.

De gegevens die ik ophaal zijn betalingstransacties, welke ik vervolgens in een textfiletje gooi (ClieOp voor Officenet). Ik wil echter dat de gegevens uit de database worden weergegeven, en dat ik individuele records aan en uit kan zetten met behulp van een checkbox, en wanneer ik verder ga alleen de records worden meegenomen welke aanstaan.

Ik ben nu wat bezig geweest met een Datagrid, welke mij hier perfect voor leek.
Nu is het eerste probleem al dat ik er geen checkbox inkrijg. Het component schijnt er de ondersteuning wel voor te hebben, want ik kan bij de propertys op het tabblad 'Format' aangeven dat de specifieke kolom een 'checkbox' is. Het veld wordt dan echter geen checkbox, maar houd gewoon de waarde 1 of 0. Wanneer ik bij 'Format' aangeef dat het veld boolean is, geeft hij wel netjes 'True' of 'False'.
Mijn eerste vraag is dus, hoe geef je een checkbox weer in een datagrid.

Nu mijn 2de vraag.
Met behulp van het datagrid kan je realtime de database bewerken. Als ik een checkbox aan of uit zou zetten zou dit worden geupdate in de desbetreffende rij in de online database, maar dat wil ik dus niet, het is alleen voor lokaal gebruik.
Ik wil de rijen die aanstaan namelijk verder verwerken na het klikken op een knop, en de rijen die uitstaan met rust laten. Is het mogelijk om de update's die ik in het datagrid maak niet te laten verwerken met de online database? Ik krijg nu de foutmelding "Error occured while trying to update the column value".

Een oplossing lijkt mij om lokaal een mysql-databaseje te draaien waarnaa de gegevens worden gedownload, en dat deze wordt gebruikt om het grid te vullen, maar dat lijkt me nogal omslachtig.

Hoop dat ik mn vraag een beetje helder heb geformuleerd...

[ Voor 16% gewijzigd door frickY op 06-01-2004 16:50 . Reden: typo's ]


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 23-05 21:33
Even een kickje...

Heb inmiddels wel al verzonnen dat ik het datagrid niet aan mn ADODB object hoef te koppelen.. maar dat ik zelf door mn resultset kan lopen en zelf de rijen toe kan voegen aan het datagrid. Dus ben ff aan het kijken hoe ik dat het best kan doen.
Misschien dat er iemand nog een ander idee heeft?

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 23-05 21:33
* frickY schopt

Oke, met een datagrid gaat het dus niet lukken. Het is domweg onmogelijk om een checkbox in een kolom te zetten in een standaard datagrid object. Van API programmeren snap ik nog geen drol, dus hou het er maar bij dat het onmogelijk is.

Nu ben ik dus opzoek naar een andere methode om een aantal bij elkaar horende gegevens (record) te tonen, met hierbij een checkbox of keuzelijst waarmee de gebruiker kan aangeven of hij de desbetreffende rij wel of niet wilt gebruiken.
Zoiets als in outlook zit zou bijvoorbeeld perfect zijn; De gegevens staan netjes naast elkaar, en je kan een vlaggetje in de kolom 'Markeren' zetten. De rijen sorteren op een bepaalde kolom ed. is niet nodig. Alleen weergeven, en 1 kolom aan of uit kunnen zetten per rij.

Heeft iemand een ander idee wat voor object ik hiervoor kan gebruiken? Of moet ik lelijk gaan zitten doen met naast elkaar geplakte lists? :?

Verwijderd

Gebruik gewoon de nieuwe listview (microsoft common controls 6). Checkboxjes zitten inbegrepen. Je kan ook een raster aanzetten. Met wat geklooi kan je ook andere leuke foefjes uithalen (z.g.n. subclassing). Veel suc6!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 23-05 21:33
Kijk eens aan, de eerste reactie, en meteen een goed lijkende oplossing!!
Ik zal me even gaan "verdiepen" in de preciese werking van deze listview, maar op het eerste gezicht lijkt hij precies wat ik zocht. Dank je!


Voor iemand anders die dit eventueel zoekt, het component heet exact "Microsoft Windows Common Controls 6.0 (SP4)