Oplossingen oefeningen hoofdstuk 24

Oefening 24-1: Producten per leverancier

Voeg een DataSource toe aan het project. De DataSet bevat de tabellen tblLeveranciers en tblProducten.

Oplossing oefening 24-1: DataSet

Oplossing oefening 24-1: DataSet

Leg een relatie tussen de tabellen door rechts te klikken te kiezen voor Add en vervolgens Relation.

Oplossing oefening 24-1: Relatie leggen

Oplossing oefening 24-1: Relatie leggen

Klik op OK om de relatie toe te voegen.

Oplossing oefening 24-1: Relatie toevoegen

Oplossing oefening 24-1: Relatie toevoegen

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.

Oplossing oefening 24-1: Query toevoegen

Oplossing oefening 24-1: Query toevoegen

Doorloop vervolgens de wizard.

Stap 1:

Oplossing oefening 24-1: Wizard stap 1

Oplossing oefening 24-1: Wizard stap 1

Stap 2:

Oplossing oefening 24-1: Wizard stap 2

Oplossing oefening 24-1: Wizard stap 2

Stap 3: Start de Query Builder

Oplossing oefening 24-1: Wizard stap 3

Oplossing oefening 24-1: Wizard stap 3

Stap 4: Pas de Query aan zodat er bij de leveranciersnummer een parameter komt. Het symbool @ wordt gebruikt als parameter.

Oplossing oefening 24-1: Wizard stap 4

Oplossing oefening 24-1: Wizard stap 4

Stap 5: De aangepast query ziet er als volgt uit

Oplossing oefening 24-1: Wizard stap 5

Oplossing oefening 24-1: Wizard stap 5

Verander de naam van de query in FillByLeveranciersnummer bij de eigenschap FillMethodName.

Oplossing oefening 24-1: Naam Query

Oplossing oefening 24-1: Naam Query

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.

Oplossing oefening 24-1: BindingNavigator aanpassen

Oplossing oefening 24-1: BindingNavigator aanpassen

Het formulier ziet er als volgt uit:

Oplossing oefening 24-1: Formulier

Oplossing oefening 24-1: Formulier

Voeg vervolgens een ComboBox cboLeverancier toe aan het formulier. Kies bij de eigenschap DataSource de DataSet dtsProdPerLev.

Oplossing oefening 24-1: DataSource ComboBox

Oplossing oefening 24-1: DataSource ComboBox

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.

Oplossing oefening 24-1: Code

Oplossing oefening 24-1: Code

Oplossing oefening 24-1: Toepassing

Oplossing oefening 24-1: Toepassing

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.

Oplossing oefening 24-2: Datagrid tblProducten

Oplossing oefening 24-2: Datagrid tblProducten

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.

Oplossing oefening 24-2: DataSource toevoegen

Oplossing oefening 24-2: DataSource toevoegen

Voeg ook de labels toe om het aantal producten weer te geven.

De code en het resultaat zien er als volgt uit:

Oplossing oefening 24-2: Code

Oplossing oefening 24-2: Code

Oplossing oefening 24-2: Toepassing

Oplossing oefening 24-2: Toepassing

Oefening 24-3: Klanten

Oplossing oefening 24-3: Code

Oplossing oefening 24-3: Code

Oplossing oefening 24-3: Toepassing

Oplossing oefening 24-3: Toepassing

Oefening 24-4: Klanten met ComboBox

De ComboBox cboKlant krijgt de volgende eigenschappen:

  • DataSource = tblKlantenBindingSource
  • DisplayMember = Naam
  • ValueMember = Klantnummer
Oplossing oefening 24-4: Code

Oplossing oefening 24-4: Code

Oplossing oefening 24-4: Toepassing

Oplossing oefening 24-4: Toepassing

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.

Oplossing oefening 24-5: Veld toevoegen aan DataTable

Oplossing oefening 24-5: Veld toevoegen aan DataTable

Geef dit nieuwe veld de naam InventarisWaarde.

Oplossing oefening 24-5: Nieuw veld

Oplossing oefening 24-5: Nieuw veld

Pas de Properties DataType en Expression van het nieuwe veld InventarisWaarde aan.

Oplossing oefening 24-5: Veld Properties

Oplossing oefening 24-5: Veld Properties

Via de optie Edit Columns van het snelmenu van de DatagridView kan de Datagrid opgemaakt worden.

Oplossing oefening 24-5: DatagridView opmaken

Oplossing oefening 24-5: DatagridView opmaken

De eigenschap AutoSizeMode bepaalt de breedte van de kolommen. Wanneer de waarde staat op AllCells dan wordt de kolombreedte aangepast aan de breedste inhoud.

Oplossing oefening 24-5: Kolombreedte aanpassen

Oplossing oefening 24-5: Kolombreedte aanpassen

Geef de Property AutoSizeColumnsMode van de DataGridView de waarde Fill om de DataGridView volledig op te vullen.

Oplossing oefening 24-5: Toepassing

Oplossing oefening 24-5: Toepassing

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:

Oplossing oefening 24-6: DataSet

Oplossing oefening 24-6: DataSet

Oplossing oefening 24-6: Code

Oplossing oefening 24-6: Code

Oplossing oefening 24-6: Toepassing

Oplossing oefening 24-6: Toepassing

Terug naar de oefeningen