Title: CHUONG VII: K?T G
1CHUONG VIIK?T GÁN D? LI?U
- Lý thuy?t 3 ti?t
- Th?c hành 12 ti?t
2Data Controls
- DataGrid Table(d?ng du?c t?o trên server)
- Repeater
- DataList
- GridView
3Cá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
4DataGrid
- Ý nghia Cung c?p m?t d?ng b?ng tính d? li?u t?
data source - G?m t?p các c?t, m?t header, m?t footer.
- Các c?t có th? t? d?ng t?o ho?c tu?ng minh
- Thu?c tính
ltaspBoundColumn DataFieldIDs
HeadTextStudent ID /gt
5Properties Descriptions
AutoGenerateColumns T?o column t? d?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 lu?i
6Ví d?
- T?o di?u khi?n (Design)
- Ràng bu?c vào DataReader/Dataset (Coding)
ltaspDataGrid id"dgAuthors" runat"server" /gt
dgAuthors.DataSource ds.Table0 dgAuthors.Data
Bind()
dgAuthors.DataSource dr dgAuthors.DataBind()
7DataGrid Ví d?
ltform id"form1" runat"server"gt ltdivgt
ltaspDataGrid ID"DataGrid1" runat"server"
Style"z-index 100 left 55px position
absolutetop 15px"gt lt/aspDataGridgt lt/divgt
lt/formgt
8DataGrid Editing
- S? d?ng EditCommandColumn
- Thu?c tính EditItemIndex (-1 -gtkhông có dòng nào
du?c hi?u ch?nh) - EditCommandColumn hi?n th? 3 liên k?t tuong ?ng 3
s? ki?n OnEditCommand, OnUpdateCommand,
OnCancelCommand
9DataGrid Editing
- DataGridCommandEventArgs ch?a thông tin c?a dòng
s? du?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
d? thao tác trên khóa chính
10GridView các s? ki?n
OnEditCommandFunctionEdit" OnCancelCommandFunc
tionCancel OnPageIndexChangedFunctionPage"
OnDeleteCommandFunctionDelete" OnItemCommandF
unctionCommand"
11Gán d? li?u Access vào DataGrid
- protected void Page_Load(object sender, EventArgs
e) - String strCon "ProviderMicrosoft.J
et.OleDb.4.0Data Source " - strCon strCon Server.MapPath(".")
"\\App_Data\\SV.mdb" - OleDbConnection con new
OleDbConnection(strCon) - con.Open()
- String strOLE "select from
tblSinhVien" - OleDbDataAdapter adap new
OleDbDataAdapter(strOLE, con) - DataSet ds new DataSet()
- adap.Fill(ds)
- DataGrid1.DataSource ds //k?t gán dl
v?i GridView có id là GridView1 - DataGrid1.DataBind()
-
- // luu ý using System.Data.OleDb
12- Gán d? li?u SQL vào DataGrid
- protected void Page_Load(object sender, EventArgs
e) - string strconn "serverTRUCLY-PC\\S
QL2005databaseSINHVIENuidsapwdsa" - SqlConnection conn new
SqlConnection(strconn) - string sql "SELECT FROM tblsinhvien"
- SqlCommand cmd new SqlCommand(sql,
conn) - conn.Open()
- SqlDataAdapter adapnew
SqlDataAdapter(sql,conn) - DataSet ds new DataSet()
- adap.Fill(ds)
- DataGrid1.DataSource ds //k?t gán dl
v?i DataGrid1 - DataGrid1.DataBind()
-
13Hi?u ch?nh d? li?u - DataGrid
14Hi?u ch?nh DataGrid Mã l?nh
- protected override void OnLoad(EventArgs e)
- if (!IsPostBack)
- BindGrid()
- base.OnLoad(e)
- public void gd1_Edit(object src,
DataGridCommandEventArgs e) - gd1.EditItemIndex (int)e.Item.ItemIndex
- BindGrid()
- public void gd1_Cancel(object src,
DataGridCommandEventArgs e) - gd1.EditItemIndex -1
- BindGrid()
-
15Ð?c di?m khác c?a DataGrid
- Tùy bi?n giao di?n GridView
- ButtonColumn hi?n th? nút nh?n nh?m th?c thi m?t
l?nh nào dó. - Thu?c tính AllowSorting hi?n th? tiêu d? c?t nhu
m?t siêu liên k?t. - Thu?c tính SortField ch? ra field du?c s?p x?p.
16 17Ð?nh d?ng Datagrid
18Th?c hành S? d?ng DataGrid
- T?o m?t OleDbConnection
- T?o m?t OleDbCommand
- T?o a DataReader
- Kéo m?t DataGrid vào Web Form
- Ràng bu?c DataSource vào DataGrid
19Repeater
- Ý nghia
- Ràng bu?c d? li?u t? danh sách các item. Hi?n th?
d? li?u d?a trên các ph?n t? HTML - Templates
20DataBinder
- Phân tích và dá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 d? rút
trích d? li?u dúng trong template - Container.DataItem tr? v? d?i tu?ng Object
- DataBinder.Eval() là hàm tinh s? d?ng Reflection
- Không quan tâm d?n ki?u c?a ngu?n d? li?u (data
source)
21DataBinder Ví d?
- ltaspRepeater id"rp1" runat"server"gt
- ltItemTemplategt
- lt DataBinder.Eval(Container.DataItem, "Name")
gtltbrgt - lt DataBinder.Eval(Container.DataItem,
"Age","02d") gt - ltbrgt
- lt/ItemTemplategt
- lt/aspRepeatergt
22A Repeater control in use
23DataList
- S? d?ng DataList hi?n th? d? li?u t? data source
- S? d?ng khi hi?n th? d? li?u d?ng danh sách
(tuong t? d?ng Table) - Ðon gi?n hon DataGrid
- Ít nh?t có ItemTemplate
- M?i template có ki?u dáng riêng (HeaderStyle và
ItemStyle)
24DataList Ví d?
25Datalist
26Ràng bu?c d? li?u t? Data Reader
- Thi?t l?p thu?c tính
- G?i phuong th?c DataBind
Id.DataSource dr dgEmp.DataBind()
27Minh h?a Ði?u khi?n DataGrid
- S? d?ng AutoFormat
- Thi?t l?p Tiêu d? c?t
- Phân trang
- S?p x?p
28Dataset là gì?
DataSet
DataTable
DataTable
DataTable
OleDbDataAdapter
B? nh?
Thi?t b? luu tr?
OleDbConnection
OleDbDataAdapter
OleDbConnection
OleDb Server 2000
OleDb Database
29Truy c?p d? li?u v?i ADO.NET
Database
- Yêu c?u t? Client
1
- T?o d?i tu?ng k?t n?i OleDbConnection và
OleDbDataAdapter
2
- Ði?n d? li?u vào DataSet t? DataAdapter, dóng k?t
n?i
OleDbConnection
3
Web server
- Tr? DataSet cho Client
4
OleDbDataAdapter
- Client thao tác d? li?u
5
- C?p nh?t DataSet
6
- S? d?ng OleDbDataAdapter d? m? OleDbConnection,
c?p nh?t co s? d? li?u và dóng k?t n?i
7
List-Bound Control
Client