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

Slides:



Advertisements
Similar presentations
ADO vs ADO.NET ADOADO.NET Client/server coupledDisconnected collection of data from data server Uses RECORDSET object (contains one table) Uses DATASET.
Advertisements

Internetteknologi (ITNET2) Presentation 21: ASP.NET Advanced.
Chapter 10 ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a programming interface to access data in a database.
Chapter 12: ADO.NET and ASP.NET Programming with Microsoft Visual Basic.NET, Second Edition.
Using ADO.NET Chapter Microsoft Visual Basic.NET: Reloaded 1.
14 1 Chapter 14 Database Connectivity and Web Development Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 C. Shahabi Application Programming for Relational Databases Cyrus Shahabi Computer Science Department University of Southern California
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Object-Oriented Analysis and Design
Chapter 14 Database Connectivity and Web Technologies
Stanford hci group / cs376 research topics in human-computer interaction UI Software Tools Scott Klemmer 27 October 2005.
Database Application Programming (C#) Chris North CS 4604: DB.
User Interface Programming in C#: Direct Manipulation Chris North CS 3724: HCI.
From VS C# 2010 Programming, John Allwork 1 VS2010 C# Programming - DB intro 1 Topics – Database Relational - linked tables SQL ADO.NET objects Referencing.
Some Basic Database Terminology
Chapter 8 Binding Data to Web Controls. ASP.NET 2.0, Third Edition2.
MVC pattern and implementation in java
Database Systems: Design, Implementation, and Management Tenth Edition
Introduction to ADO.Net and Visual Studio Database Tools ISYS 512.
Snap-Together Visualization Chris North Lab for Information Visualization and Evaluation Department of Computer Science Virginia Tech.
Building a UI with Zen Pat McGibbon –Sales Engineer.
Overview of ADO.NET with the.NET Framework Scalable Development, Inc. Building systems today that perform tomorrow.
Fundamentals of Database Chapter 7 Database Technologies.
Programming Data-Driven WebSites (ASPX, Active Server Pages) Chris North CS 4604: DB.
MVC CompSci 230 S Software Construction. MVC Architecture  A typical application includes software to  maintain application data,  document text.
A Simple Introduction. What is ADO.net? First the word ADO stands for ActiveX Data Objects And it is an integral part of.Net Framework of Microsoft hence.
Lecture Set 14 B new Introduction to Databases - Database Processing: The Connected Model (Using DataReaders)
Needs for Accessing Database To make your web site more dynamic and maintainable, you can display information on your web pages that are retrieved from.
CIS 451: ASP.NET & Databases Dr. Ralph D. Westfall February, 2009.
Databases and Data Access  Introduction to ADO.NET  ADO.NET objects  ADP.NET namespaces  Differences between ADO and ADO.NET.
.NET Data Access and Manipulation ADO.NET. Overview What is ADO.NET? Disconnected vs. connected data access models ADO.NET Architecture ADO.NET Core Objects.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Delivering Excellence in Software Engineering ® EPAM Systems. All rights reserved. Data Binding in ASP.NET.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL ADO.Net Basics Ruwan Wijesinghe Trainer.
Objectives In this lesson, you will learn to: *Identify the need for ADO.NET *Identify the features of ADO.NET *Identify the components of the ADO.NET.
ASP.NET Rina Zviel-Girshin Lecture 5
Module 9: Accessing Relational Data Using Microsoft Visual Studio.NET.
Module 7: Accessing Data by Using ADO.NET
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Introduction to ADO.NET ADO.NET - Lesson 01  Training time: 10 minutes  Author:
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Presented by Joseph J. Sarna Jr. JJS Systems, LLC
Lecture Set 14 B new Introduction to Databases - Database Processing: The Connected Model (Using DataReaders)
User Interface Programming in C#: Direct Manipulation Chris North CS 3724: HCI.
1 Data Classes- DataView DataGridView Control. Objectives 2  Data Class  DataAdapter  DataReader  DataSet  DataTable  DataView  DataGridView Control.
Introduction to ADO.Net and VS Database Tools and Data Binding ISYS 350.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 41 JavaServer Face.
Module 3: Working with Local Data. Overview Using DataSets Using XML Using SQL Server CE.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Review Chris North cs3724: HCI. Midterm Topics Scenario-based design: (ch 1-4) SBD background –metrics, tradeoffs, scenarios Requirements analysis –Field.
ADO.NET FUNDAMENTALS BEGINNING ASP.NET 3.5 IN C#.
ADO.NET Architecture MIS3502: Application Integration and Evaluation David Schuff Adapted from material by Arnold Kurtz, David.
Module 2: Using ADO.NET to Access Data. Overview ADO.NET Architecture Creating an Application That Uses ADO.NET to Access Data Changing Database Records.
User Interface Programming in C#: Basics and Events Chris North CS 3724: HCI.
ASP, Databases, and how to stomp project 3 Chris North cs3724: HCI.
Chapter 9 Working with Databases. Copyright © 2011 Pearson Addison-Wesley Introduction In this chapter you will learn: – Basic database concepts – How.
ADO .NET from. ADO .NET from “ADO .Net” Evolution/History of ADO.NET MICROSOFT .NET “ADO .Net” Evolution/History of ADO.NET History: Most applications.
.NET Data Access and Manipulation
C# 1 CSC 298 ADO.NET. C# 2 ADO.NET  A data access technology that maps very well to the world of the web (disconnected architecture)  data is retrieved.
1 SQL SERVER 2005 Express CE-105 SPRING 2007 Engr. Faisal ur Rehman.
Data Access with ADO.NET
Introduction to ADO.NET
ICT Database Lesson 1 What is a Database?.
ADO.NET Accessing Databases in VS.NET
CS102 – Bilkent University
Database.
Chapter 10 ADO.
Database Applications
Chapter 10 Accessing Database Files
Cycle 3: Unit 27 Lessons 104 – 111.
Introduction to ADO.Net and Visual Studio Database Tools.
Presentation transcript:

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! User interface design Software architecture design

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

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

Model-View-Controller (MVC) Data model Data displayUser input Model ViewController UI: Data: manipulate refresh events

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 Model View Controller View Controller

Common Variation Data model Data displayData manipulation logic Model ViewController

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

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

C# DataBase Access (ADO.net) OleDB, ODBC, SQLdb, … Steps to get data: 1.dbConnection: connect to DB 2.dbCommand: SQL query text 3.dbAdapter: executes query 4.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 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 Topics Components GUI layouts Events Graphics Manipulation Animation Databases MVC