user interface programming in c model view controller
Download
Skip this Video
Download Presentation
User Interface Programming in C#: Model-View-Controller

Loading in 2 Seconds...

play fullscreen
1 / 15

User Interface Programming in C#: Model-View-Controller - PowerPoint PPT Presentation


  • 193 Views
  • Uploaded on

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!.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'User Interface Programming in C#: Model-View-Controller' - hamlet


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
gui topics
GUI Topics
  • Components
  • GUI layouts
  • Events
  • Graphics
  • Manipulation
  • Animation
  • Databases
  • MVC
review direct manipulation
Review: Direct Manipulation
  • DM Definition? (Shneiderman)
  • DM processing steps?
      • 1.
      • 2.
2 challenges
2 Challenges!
  • User interface design
  • Software architecture design
software architecture so far
Software Architecture so far…

Program State -data structures

Paint event-display data

Interaction events

-modify data

model view controller mvc
Model-View-Controller (MVC)

Model

Program State -data structures

View

Paint event-display data

Controller

Interaction events

-modify data

model view controller mvc7
Model-View-Controller (MVC)

refresh

Data display

View

User input

Controller

UI:

events

refresh

manipulate

Data model

Model

Data:

advantages
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
multiple views
Multiple Views

Controller

View

View

Controller

Model

common variation
Common Variation

Data display

View

Data manipulation logic

Controller

Data model

Model

e g c treeview control
E.g. C# TreeView Control

TreeView control

View

Controller

treeView1.Nodes

Java:

model listeners

Nodes collection

Model

c database controls
C# DataBase Controls

DataGrid control

-scroll, sort, edit, …

View

Controller

DataSet class

-tables

-columns

-rows

Model

c database access ado net
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

db example
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

gui topics15
GUI Topics
  • Components
  • GUI layouts
  • Events
  • Graphics
  • Manipulation
  • Animation
  • Databases
  • MVC
ad