Ontwerp en gebruik van een dynamisch formulier

Status
Niet open voor verdere reacties.

Jan Groven

Gebruiker
Lid geworden
15 okt 2008
Berichten
21
Hoi VB-ers!

Ik probeer een dynamisch formulier te maken waarin ik gegevens oproep vanuit een datagrid. Deze datagrid is gebaseerd op de tabel productcategorieën. Wanneer ik een cel aanklik in deze datagrid, is het de bedoeling dat op het formulier knoppen uit de tabel Producten geplaatst worden. Wanneer ik dus in de datagrid op Productcategorie1 klik, moeten de knoppen ProductA en ProductB weergegeven worden. Wanneer ik op Productcategorie2 klik dienen ProductC, ProductD,... weergegeven te worden.

Het lukt me al om een categorie te plaatsen. Dat doe ik op volgende manier:
Code:
    Private Sub ProdPlaatsen()
        Dim Teller As Integer
        Dim NProds As Integer

        NProds = ProductenBindingSource.Count 'Nagaan hoeveel knoppen toegevoegd moeten worden
        For Teller = 1 To NProds
            Dim newButton As New Button
            With newButton
                .Name = "BT" & Teller.ToString() 'De naam wordt dan BT1, BT2,...
                .Text = ProductenDataGridView.CurrentCell.Value 'De text wordt dan ProductA,...
                .Top = Teller * 40 'Dit opdat elke knop onder elkaar weergegeven wordt.
                .Left = 20
                .Visible = True
                Me.Controls.Add(newButton) 'Toevoegen van de knop aan de controls
            End With
            ProductenBindingSource.MoveNext() 'ga naar het volgende item in de datagrid
        Next Teller
        AaNtalProducten = Teller - 1
    End Sub

Indien ik een andere categorie wil plaatsen, wil ik er eerst voor zorgen dat de knoppen uit productcategorie1 van het formulier verdwijnen.
Dit doe ik zo:

Code:
    Private Sub ProductenVerwijderen()
        Dim Teller As Integer

        For Teller = 1 To AaNtalProducten 'Het aantal knoppen dat bij cat1 hoort
            Dim newButton As New Button
            With newButton
                .Name = "BT" & Teller.ToString() 'Naam instellen vande te verwijderen knop
                .Visible = False 'onzichtbaar maken
                Me.Controls.Remove(newButton) 'verwijderen uit de controls
            End With
            ProductenBindingSource.MoveNext()
        Next Teller

    End Sub

Hier doe ik iets fout, maar ik weet echt niet wat. :confused:

Iemand die mij hier bij kan helpen??????
 
je wilt productknoppen verwijderen echter je maakt een button aan, geeft hem een naam, maakt hem invisible en vervolgens verwijder je hem. Lijkt me niet zinnig. Gebruik de TAG property van je controls.

Bij het aanmaken geef je de tag een bepaalde waarde, bijvoorbeeld "PRODUCT" . Als je vervolgens alle controls weer wil verwijderen die je zojuist hebt toegevoegd, dan loop je alle controls af op je form en controleert of je in de TAG property de tekst "PRODUCT" tegenkomt. Zo ja, dan heb je die net toegevoegd en kan je die verwijderen.

Ik denk dat als je dit wilt programmeren dat je minder tekst kwijt bent dan ik momenteel.

HTH:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan