CH

NG VII:

Ữ Ệ

ƯƠ Ế K T GÁN D  LI U

Lý thuyết : 3 tiết Thực hành 12 tiết

Data Controls

 DataGrid=Table(đ ng đ  Repeater  DataList  GridView

ộ ượ ạ c t o trên server)

ủ Các properties c a Data Controls

Properties

DataList DataGrid

Column Layout(sắp xếp theo cột)

X

Paging(Hiển thị số trang)

X

Select/Edit/Delete

X

X

Sort

X

Style Properties(Kiểu cách)

X

X

Table Layout(Hiển thị kiểu Bảng)

X

Template(Sử dụng khuôn mẫu)

X

X

ữ ệ ừ ả ấ

DataGrid ộ ạ  Ý nghĩa: Cung c p m t d ng b ng tính d  li u t

ộ ể ự ộ

ộ ặ ườ ạ  đ ng t o ho c t

ng minh

data source  G m t p các c t, m t header, m t footer. ậ ộ ồ  Các c t có th  t ộ

ộ  Thu c tính:

Student ID 03CDTH892 ……. 03CDTH632 HeadText DataField ……. DataField

Properties

Descriptions

AutoGenerateColumns

Tạo column tự động()

Column(Design & Coding)

• Bound Column

Cột dữ liệu

• Button Column

Cột dạng Button

• HyperLink Column

Cột dạng Liên Kết

Template Column

Cột tự thiết kế

EditItemStyle

Định dạng cho Item

Header Style(Show Footer: true)

Định dạng Header

Footer Style(Show Header: true)

Định dạng Footer

GridLines

Hiển thị dạng lưới

Ví d :ụ ạ

 T o đi u khi n (Design)

 Ràng bu c vào DataReader/Dataset: (Coding) dgAuthors.DataSource = ds.Table[0]; dgAuthors.DataSource = ds.Table[0]; dgAuthors.DataBind();  dgAuthors.DataBind();

dgAuthors.DataSource = dr; dgAuthors.DataSource = dr; dgAuthors.DataBind();  dgAuthors.DataBind();

Data Grid – Ví dụ

               

ử ụ

DataGrid Editing  S  d ng EditCommandColumn

EditItemIndex  (­1  ­>không  có

ỉ ệ ượ

 Thu c  tính ộ dòng nào đ

ế ị

ự ứ ệ c hi u ch nh)  EditCommandColumn  hi n  th   3  liên  k t  ể ng  3  s   ki n:  EditCommand, ng

ươ t UpdateCommand, CancelCommand

DataGrid Editing

 DataGridCommandEventArgs ch a thông

ẽ ượ ệ tin c a dòng s  đ c hi u ch nh

 Thu c tính DataKeyField

ỉ ế ậ thi t l p khóa

ủ ộ chính

 S  ki n UpdateCommand

ự ệ ấ ậ

ể , truy xu t t p  các DataKeys đ  thao tác trên khóa chính

ự ệ DataGrid các s  ki n

OnEditCommand=“FunctionEdit" OnCancelCommand=“FunctionCancel“ OnPageIndexChanged=“FunctionPage"  OnDeleteCommand=“FunctionDelete" OnItemCommand=“FunctionCommand"

ữ ệ Hi u ch nh d  li u ­ DataGrid

other style properties not shown

       

base.OnLoad(e); }

gd1.EditItemIndex = (int)e.Item.ItemIndex;

Hi u ch nh DataGrid – Mã l nh protected override void OnLoad(EventArgs e) {   if (!IsPostBack)     BindGrid();    public void gd1_Edit(object src, DataGridCommandEventArgs e) {       BindGrid();} public void gd1_Cancel(object src, DataGridCommandEventArgs

e) { gd1.EditItemIndex = ­1;

BindGrid();

}

ệ Hi u ch nh DataGrid – Mã l nh  (tt)

public void BindGrid()  ế ố {   // k t n i;    OleDbDataAdapter da =     new OleDbDataAdapter("select * from

Employees", dsn);

DataSet ds = new DataSet();   da.Fill(ds, "Employees");   gd1.DataSource=ds;   gd1.DataBind(); }

Đ c đi m khác c a DataGrid

ế

 Tùy bi n giao di n DataGrid

 ButtonColumn: hi n th  nút nh n nh m th c  ể

ự ấ ằ ị

ộ ệ thi m t l nh nào đó.

 Thuộc tính AllowSorting: hi n th  tiêu

ể ị

ư ộ ế ề ộ đ  c t nh  m t siêu liên k t.

 Thuộc tính SortField : ch  ra field đ

ỉ ượ c

ế ắ s p x p.

ử ụ Th c hành: S  d ng DataGrid

ộ OleDbConnection ộ OleDbCommand DataReader

ủ ộ

 T o m t  ạ  T o m t  ạ  T o a  ạ  Kéo m t ộ DataGrid vào Web Form  Ràng bu c DataSource c a  DataGrid vào DataGrid

Repeater

 Ý nghĩa:

 Ràng bu c d  li u t ị ữ ệ ự

 Templates:

ầ ử ộ ữ ệ ừ th  d  li u d a trên các ph n t danh sách các item. Hi n   HTML

DataBinder

 Phân tích và đánh giá bi u th c ràng bu c

ữ ệ d  li u  Tính  toán  bi u  th c  ràng  bu c  d   li u  đ   rút

ữ ệ ứ ể ể ộ

ữ ệ

ả ề ố ượ Object

ng  ử ụ trích d  li u đúng trong template  Container.DataItem tr  v  đ i t  DataBinder.Eval()  là  hàm  tĩnh  s   d ng

Reflection

 Không quan tâm đ n ki u c a ngu n d  li u

ữ ệ ủ ể ế ồ

(data source)

DataBinder – Ví dụ

     <%# DataBinder.Eval(Container.DataItem,

"Name") %>

<%# DataBinder.Eval(Container.DataItem,

"Age","{0:2d}") %>


  

A Repeater control in use

       <%# DataBinder.Eval(Container.DataItem, "Name") %> is a     <%# DataBinder.Eval(Container.DataItem, "Breed") %>     and looks like this:      />      

DataList

ị ữ ệ ừ

ử ụ DataList hi n th  d  li u t

data

 S  d ng  source  S  d ng khi hi n th  d  li u d ng danh sách

ị ữ ệ ạ

ể  d ng Table) (t

ử ụ ươ ơ ng t ả

ự ạ  Đ n gi n h n DataGrid ơ  Ít nh t có ItemTemplate  M i  ỗ template có dáng riêng

ể ki u  (HeaderStyle và ItemStyle)

DataList – Ví dụ

             / >     
    Name:  <%# DataBinder.Eval(Container.DataItem, "Name") %>
    Breed: <%# DataBinder.Eval(Container.DataItem, "Breed") %>   

ữ ệ ừ

ộ Ràng bu c d  li u t

Data Reader

 Thi

t l p thu c tính

Mô tảMô tảMô tảMô tả

 Nguồn dữ liệu  Nguồn dữ liệu

ế ậ Thuộc tính Thuộc tính Thuộc tính Thuộc tính DataSource DataSource

 Field trong DataTable được hiển thị  Field trong DataTable được hiển thị

 Field trong DataTable trở thành giá trị của item  Field trong DataTable trở thành giá trị của item

ươ

ng th c DataBind

DataTextFiel DataTextFiel d d DataValueFi DataValueFi eld eld ọ  G i ph

Id.DataSource = dr; Id.DataSource = dr; dgEmp.DataBind(); dgEmp.DataBind();

Minh h a: Đi u khi n DataGrid

ử ụ

ế ậ

 S  d ng AutoFormat ề ộ  Thi t l p Tiêu đ  c t   Phân trang ế ắ  S p x p

Dataset là gì?

DataSet

DataTable

DataTable

DataTable

OleDbDataA OleDbDataA dapter dapter

Bộ nhớ

Thiết bị lưu trữ

OleDbConnec OleDbConnec tion tion

OleDbDataAdap OleDbDataAdap ter ter

OleDbConnec OleDbConnec tion tion

OleDb Database

OleDb Server 2000

ậ ữ ệ

1. Yêu cầu từ Client

Database Database

2. Tạo đối tượng kết nối OleDbConnection và OleDbDataAdapter

Truy c p d  li u v i ADO.NET 1111 2222

3. Điền dữ liệu vào DataSet từ 3333

OleDbConn ection

Web Web server server

DataAdapter, đóng kết nối

4. Trả DataSet cho Client

OleDbDataA dapter

4444 5. Client thao tác dữ liệu 5555 6. Cập nhật DataSet 6666 7. Sử dụng 7777

DataSet

OleDbDataAdapter để mở OleDbConnection, cập nhật cơ sở dữ liệu và đóng kết nối

List- List- Bound Bound Control Control

Client Client

Review

 Introduction to Using ADO.NET

 Connecting to a Database

 Accessing Data with DataSets

 Using Multiple Tables

 Accessing Data with DataReaders

ơ ở ữ ế ố ế Bài: T o k t n i đ n C  s  d

ử ụ

ng DataAdapter

ế ố ế

li uệ  S  d ng Server Explorer t o Connection ố ượ  Mô hình đ i t ọ  Minh h a: K t n i đ n CSDL ộ  T o m t DataSet ọ  Minh h a: t o DataSet

ơ ở ữ ế ố ế Bài: T o k t n i đ n C  s  d   li uệ

ướ ể ạ

ế ố

c đ  t o k t n i,

ử ụ

 T  nghiên c u. ầ  Yêu c u: Trình bày các b ấ ữ ệ l y d  li u – s  d ng MS Visual.Net