Oefening 24-1: Producten per leverancier
Voeg een DataSource toe aan het project. De DataSet bevat de tabellen tblLeveranciers en tblProducten.
Leg een relatie tussen de tabellen door rechts te klikken te kiezen voor Add en vervolgens Relation.
Klik op OK om de relatie toe te voegen.
Om geheugenruimte te sparen worden enkel de producten die geleverd worden door de geselecteerde leverancier opgenomen in de DataTable tblProducten. Voeg hiervoor een nieuwe methode toe aan de TableAdapter tblProductenTableAdapter.
Doorloop vervolgens de wizard.
Stap 1:
Stap 2:
Stap 3: Start de Query Builder
Stap 4: Pas de Query aan zodat er bij de leveranciersnummer een parameter komt. Het symbool @ wordt gebruikt als parameter.
Stap 5: De aangepast query ziet er als volgt uit
Verander de naam van de query in FillByLeveranciersnummer bij de eigenschap FillMethodName.
Plaats de gegevens op het formulier. De tabel die gekoppeld moet worden aan de BindingNavigator moet eerst op het formulier geplaats worden. Sleep de tekstvakken van de ChildTable tblProducten naar het formulier vanuit de DataSource.
Verwijder de toevoeg-, verwijder- en bewaarknop van tblProductenBindingNavigator. Kies hiervoor Edit Items in het snelmenu.
Verplaats tblProductenBindingNavigator naar de onderkant van het formulier door de eigenschap Dock aan te passen.
Het formulier ziet er als volgt uit:
Voeg vervolgens een ComboBox cboLeverancier toe aan het formulier. Kies bij de eigenschap DataSource de DataSet dtsProdPerLev.
Selecteer bij de eigenschap DisplayMember het bedrijf. Dit is de waarde dit getoond wordt.
Kies bij ValueMember de leveranciersnummer. Dit is de eigenlijke inhoud.
In onderstaande afbeelding staat de code. De code voor de bewaartoets is hier verwijderd.
Oefening 24-2: Producten per leverancier gridview
Voeg de DataSource dtsProdPerLevGrid toe. Deze DataSet bevat dezelfde tabellen en velden als de DataSet dtsProdPerLev uit oefening 24-1. Sleep de tabel tblProducten van de DataSet naar het formulier. Verwijder tblProductenBindingNavigator.
Voeg de ComboBox cboLeverancier toe aan het formulier. Selecteer als DataSource de tabel tblLeveranciers van dtsProdPerLevGrid. Kies als DisplayMember het veld Bedrijf en als ValueMember de leveranciersnummer.
Voeg ook de labels toe om het aantal producten weer te geven.
De code en het resultaat zien er als volgt uit:
Oefening 24-3: Klanten
Oefening 24-4: Klanten met ComboBox
De ComboBox cboKlant krijgt de volgende eigenschappen:
- DataSource = tblKlantenBindingSource
- DisplayMember = Naam
- ValueMember = Klantnummer
Oefening 24-5: Inventaris
De DataSet dtsInventaris bevat de volgende gegevens van de tabel tblProducten: productnummer, productnaam, prijspereenheid en voorraad.
Voeg aan de DataTable tblProducten een veld toe door in het snelmenu Add te kiezen voor de optie Column.
Geef dit nieuwe veld de naam InventarisWaarde.
Pas de Properties DataType en Expression van het nieuwe veld InventarisWaarde aan.
Via de optie Edit Columns van het snelmenu van de DatagridView kan de Datagrid opgemaakt worden.
De eigenschap AutoSizeMode bepaalt de breedte van de kolommen. Wanneer de waarde staat op AllCells dan wordt de kolombreedte aangepast aan de breedste inhoud.
Geef de Property AutoSizeColumnsMode van de DataGridView de waarde Fill om de DataGridView volledig op te vullen.
Oefening 24-6: Orders
De volgende velden worden opgenomen in de DataSource:
- OrderID;
- Naam (van de klant);
Verder worden ook de nodige velden opgenomen zodat relaties tussen de verschillen tabellen gelegd kunnen worden. De DataSet ziet er dan als volgt uit: