1 / 15

User Interface Programming in C#: Model-View-Controller

User Interface Programming in C#: Model-View-Controller. Chris North CS 3724: HCI. GUI Topics. Components GUI layouts Events Graphics Manipulation Animation Databases MVC. Review: Direct Manipulation. DM Definition? (Shneiderman) DM processing steps? 1. 2. . 2 Challenges!.

hamlet
Download Presentation

User Interface Programming in C#: Model-View-Controller

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. User Interface Programming in C#: Model-View-Controller Chris North CS 3724: HCI

  2. GUI Topics • Components • GUI layouts • Events • Graphics • Manipulation • Animation • Databases • MVC

  3. Review: Direct Manipulation • DM Definition? (Shneiderman) • DM processing steps? • 1. • 2.

  4. 2 Challenges! • User interface design • Software architecture design

  5. Software Architecture so far… Program State -data structures Paint event-display data Interaction events -modify data

  6. Model-View-Controller (MVC) Model Program State -data structures View Paint event-display data Controller Interaction events -modify data

  7. Model-View-Controller (MVC) refresh Data display View User input Controller UI: events refresh manipulate Data model Model Data:

  8. Advantages? • Multiple views for a model • Multi-view applications (overview+detail, brushing,…) • Different users • Different UI platforms (mobile, client-side, server-side,…) • Alternate designs • Multiple models • Software re-use of parts • Plug-n-play • Maintenance

  9. Multiple Views Controller View View Controller Model

  10. Common Variation Data display View Data manipulation logic Controller Data model Model

  11. E.g. C# TreeView Control TreeView control View Controller treeView1.Nodes Java: model listeners Nodes collection Model

  12. C# DataBase Controls DataGrid control -scroll, sort, edit, … View Controller DataSet class -tables -columns -rows Model

  13. C# DataBase Access (ADO.net) • OleDB, ODBC, SQLdb, … • Steps to get data: • dbConnection: connect to DB • dbCommand: SQL query text • dbAdapter: executes query • DataSet: resulting data • Steps to display data: • Bind to UI control, DataGrid • or Manual data processing • Built-in XML support too DB Alternative: DataReader, retrieve data incrementally

  14. DB Example • Get data: Using System.Data.OleDb; // “Jet” = MS Access DB driver con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/mydb.mdb”); cmd = new OleDbCommand("SELECT * FROM mytable”, con); // SQL query adpt = new OleDbDataAdapter(cmd); data = new DataSet( ); adpt.Fill(data); // execute the query and put result in ‘data’ • Display data: dataGrid1.DataSource = data.Tables[0]; // show the table in the grid control MessageBox.Show(data.Tables[0].Rows[0][5].ToString( )); // or process manually, this is row 0 col 5

  15. GUI Topics • Components • GUI layouts • Events • Graphics • Manipulation • Animation • Databases • MVC

More Related