Software Development fundamentals EVENTS & Master-detail interfaces
inhoudsopgave Events Master-detail interfaces En dit gaan we gebruiken voor: Uitbreiding Northwind opdracht
Event-driven programming Windows (Winforms en WPF) applicaties maken gebruik van Events. Als je in de designer dubbelklikt op een knop, wordt er op de achtergrond een methode aan een event gekoppeld (in het .designer.cs bestand): this.dateTimePicker1.ValueChanged += new System.EventHandler(this.dateTimePicker1_ValueChanged); Zo’n methode (hier dateTimePicker1_ValueChanged) noemen we een event handler. Het is mogelijk om meerdere handlers aan een event te koppelen, daarom staat er += ipv. =
In de designer In de designer is te zien: Welke events een control heeft Welke event handlers daaraan zijn gekoppeld Klik hiervoor op de ‘bliksem’ bij ‘Properties’
Events & delegates this.dateTimePicker1.ValueChanged += new System.EventHandler(this.dateTimePicker1_ValueChanged); Events hebben altijd twee parameters: void eventNaam(object sender, EventArgs e) De sender is het object dat het event ‘raised’ (activeert), De EventArgs maken het mogelijk om informatie mee te geven. Vaak wordt een subclass van EventArgs (met eigen properties) gebruikt. private void Form1_Load(object sender, EventArgs e) private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
Master-detail Wat is het?
Master-detail Master = hoofdlijst Detail = detailinformatie Bedacht omdat we meestal niet alle informatie in de hoofdlijst kunnen weergeven. Zodra je klikt op een item in de masterlijst worden de details getoond
De opdracht Stel, men wil dat zodra je op een klant klikt, alle orders van die klant worden getoond. Hoe ontwikkel je dit?
Todo Zodra je op een klant klikt, worden alle orders van die klant getoond. We gaan het volgende doen: Een class toevoegen voor orders Een gridview toevoegen voor orders. Code toevoegen om de orders voor een klant op te halen. Reageren op het klikken op een rij in de klantengridview. Tip voor 4: http://stackoverflow.com/questions/19682526/retrieving-selected-row-in-datagridview-as-an-object
samenvattend Twee opdrachten voor deze week: Northwind applicatie uitbreiden met master-detail functionaliteit Een eigen applicatie met CRUD functionaliteit ontwikkelen Kan een TODO-list zijn, maar iets anders is ook goed! Winforms of WPF maakt niet uit!
Vragen Zijn er vragen?