SlideShare a Scribd company logo
1 of 29
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 được tạo trên server)
 Repeater
 DataList
 GridView
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ừ
data source
 Gồm tập các cột, một header, một footer.
 Các cột có thể tự động tạo hoặc tường minh
 Thuộc tính:
03CDTH632
…….
03CDTH892
Student ID
DataField
…….
DataField
HeadText
<asp:BoundColumn DataField=“IDs” HeadText=“Student ID” />
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 = dr;
dgAuthors.DataBind();
<asp:DataGrid id="dgAuthors" runat="server" />
dgAuthors.DataSource = ds.Table[0];
dgAuthors.DataBind();
DataGrid – Ví dụ
<form id="form1" runat="server">
<div>
<asp:DataGrid ID="DataGrid1" runat="server"
Style="z-index: 100; left: 55px; position:
absolute;top: 15px">
</asp:DataGrid>
</div>
</form>
DataGrid Editing
 Sử dụng EditCommandColumn
 Thuộc tính EditItemIndex (-1 ->không có
dòng nào được hiệu chỉnh)
 EditCommandColumn hiển thị 3 liên kết
tương ứng 3 sự kiện: OnEditCommand,
OnUpdateCommand, OnCancelCommand
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
GridView các sự kiện
OnEditCommand=“FunctionEdit"
OnCancelCommand=“FunctionCancel“
OnPageIndexChanged=“FunctionPage"
OnDeleteCommand=“FunctionDelete"
OnItemCommand=“FunctionCommand"
Gán dữ liệu Access vào DataGrid
protected void Page_Load(object sender, EventArgs e)
{ String strCon = "Provider=Microsoft.Jet.OleDb.4.0;Data Source = ";
strCon = strCon + Server.MapPath(".") + "App_DataSV.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();
}
// lưu ý using System.Data.OleDb;
Gán dữ liệu SQL vào DataGrid
protected void Page_Load(object sender, EventArgs e)
{ string strconn = "server=TRUCLY-
PCSQL2005;database=SINHVIEN;uid=sa;pwd=sa";
SqlConnection conn = new SqlConnection(strconn);
string sql = "SELECT * FROM tblsinhvien";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
SqlDataAdapter adap=new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
adap.Fill(ds);
DataGrid1.DataSource = ds; //kết gán dl với DataGrid1
DataGrid1.DataBind();
}
Hiệu chỉnh dữ liệu - DataGrid
<form runat="server">
<asp:datagrid id="gd1" runat=server
OnEditCommand="gd1_Edit"
OnCancelCommand="gd1_Cancel"
OnUpdateCommand="gd1_Update"
DataKeyField="ID">
<Columns>
<asp:EditCommandColumn EditText="Edit" CancelText="Cancel"
UpdateText="Update" ItemStyle-Wrap="false"/>
</Columns>
</asp:datagrid>
</form>
other style properties not shown
Hiệ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();
}
Đặc điể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 đó.
 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.
PROPERTY DATAGRID
ĐỊNH DẠNG DATAGRID
Thự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
Repeater
 Ý nghĩa:
 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:
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
trích dữ liệu đúng trong template
 Container.DataItem trả về đối tượng
Object
 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ụ
<asp:Repeater id="rp1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,
"Name") %><br>
<%# DataBinder.Eval(Container.DataItem,
"Age","{0:2d}") %>
<br>
</ItemTemplate>
</asp:Repeater>
<asp:Repeater id="rp1" runat=server>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name") %> is a
<%# DataBinder.Eval(Container.DataItem, "Breed") %>
and looks like this:
<asp:Image runat=server
ImageUrl=<%# DataBinder.Eval(Container.DataItem, "Image") %> />
</ItemTemplate>
<SeparatorTemplate><hr/></SeparatorTemplate>
</asp:Repeater>
A Repeater control in use
DataList
 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
(tương tự dạng Table)
 Đơn giản hơn DataGrid
 Ít nhất có ItemTemplate
 Mỗi template có kiểu dáng riêng
(HeaderStyle và ItemStyle)
DataList – Ví dụ
<asp:DataList id="dl1" runat=server RepeatColumns=2
RepeatDirection=Horizontal>
<ItemTemplate>
<div style="padding:15,15,15,15">
<asp:Image runat=server
ImageUrl=<%# DataBinder.Eval(Container.DataItem, "Image") %> /
>
<br/>
<b>Name: </b><%# DataBinder.Eval(Container.DataItem, "Name")
%><br/>
<b>Breed: </b><%# DataBinder.Eval(Container.DataItem, "Breed") %>
</ItemTemplate>
</asp:DataList>
DATALIST
Ràng buộc dữ liệu từ Data Reader
 Thiết lập thuộc tính
 Gọi phương thức DataBind
Id.DataSource = dr;
dgEmp.DataBind();
Thuộc tính Mô tả
DataSource  Nguồn dữ liệu
DataTextField  Field trong DataTable được hiển thị
DataValueField  Field trong DataTable trở thành giá trị của item
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
OleDb Server 2000
DataSet
DataTable
DataTable
Thiết bị lưu trữ
OleDb Database
OleDbDataAdapt
er
OleDbConnection
DataTable
Bộ nhớ
OleDbDataAdapter
OleDbConnection
Dataset là gì?
Truy cập dữ liệu với ADO.NET
Database
4. Trả DataSet cho Client
5. Client thao tác dữ liệu
2. Tạo đối tượng kết nối OleDbConnection và OleDbDataAdapter
3. Điền dữ liệu vào DataSet từ
DataAdapter, đóng kết nối
OleDbDataAdap
ter
OleDbConnecti
on
List-Bound
Control
1. Yêu cầu từ Client
1
2
3
4
5
6. Cập nhật DataSet
7. Sử dụng OleDbDataAdapter để
mở OleDbConnection, cập nhật
cơ sở dữ liệu và đóng kết nối
6
7
Client
Web server
DataSet

More Related Content

What's hot

Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...MasterCode.vn
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTMasterCode.vn
 
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMasterCode.vn
 
Pdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vn
Pdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vnPdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vn
Pdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vnMasterCode.vn
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdltruong le hung
 
Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...
Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...
Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...MasterCode.vn
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVCMasterCode.vn
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýMasterCode.vn
 
Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...
Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...
Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...MasterCode.vn
 
05 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.001110322505 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.0011103225Yen Dang
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
 
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPTBài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPTMasterCode.vn
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nayledoanduc
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTMasterCode.vn
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)MasterCode.vn
 
6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 

What's hot (20)

Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
 
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
 
Pdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vn
Pdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vnPdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vn
Pdf bai 1 tổng quan về ms access-quan tri csdl voi access-mastercode.vn
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
 
Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...
Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...
Pdf bai 3 làm việc với biểu mẫu nâng cao-slide 03-quan tri csdl voi access-ma...
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVC
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...
Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...
Pdf bai 5 làm việc với báo cáo nâng cao-slide 05-quan tri csdl voi access-mas...
 
05 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.001110322505 acc201 bai 3_v1.0011103225
05 acc201 bai 3_v1.0011103225
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPTBài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
 
2 co ban ve sql
2 co ban ve sql2 co ban ve sql
2 co ban ve sql
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 

Similar to Chuong 07_ gắng kết dữ liệu asp.net

Net06 asp.net applications & state management
Net06 asp.net applications & state managementNet06 asp.net applications & state management
Net06 asp.net applications & state managementhoangnguyentien
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#Dao Uit
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbANHMATTROI
 
02 chuong 2 - lay du lieu theo cach connected
02   chuong 2 - lay du lieu theo cach connected02   chuong 2 - lay du lieu theo cach connected
02 chuong 2 - lay du lieu theo cach connectedtruong le hung
 
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp0202 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02huynhtrong774129
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...zzsunzz
 

Similar to Chuong 07_ gắng kết dữ liệu asp.net (20)

Ung dung web chuong 7
Ung dung web  chuong 7Ung dung web  chuong 7
Ung dung web chuong 7
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
ado.net
ado.netado.net
ado.net
 
C# co ban 10
C# co ban 10C# co ban 10
C# co ban 10
 
Net06 asp.net applications & state management
Net06 asp.net applications & state managementNet06 asp.net applications & state management
Net06 asp.net applications & state management
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
Grid view
Grid viewGrid view
Grid view
 
Data provider
Data providerData provider
Data provider
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vb
 
LinQ
LinQLinQ
LinQ
 
Bài 6: Working with DATA
Bài 6: Working with DATABài 6: Working with DATA
Bài 6: Working with DATA
 
04 ado
04 ado04 ado
04 ado
 
LINQ presentation
LINQ presentationLINQ presentation
LINQ presentation
 
02 chuong 2 - lay du lieu theo cach connected
02   chuong 2 - lay du lieu theo cach connected02   chuong 2 - lay du lieu theo cach connected
02 chuong 2 - lay du lieu theo cach connected
 
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp0202 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
 
Aspnet 3.5 _05
Aspnet 3.5 _05Aspnet 3.5 _05
Aspnet 3.5 _05
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 

Chuong 07_ gắng kết dữ liệu asp.net

  • 1. CHƯƠNG VII: KẾT GÁN DỮ LIỆU Lý thuyết : 3 tiết Thực hành 12 tiết
  • 2. Data Controls  DataGrid =Table(động được tạo trên server)  Repeater  DataList  GridView
  • 3. 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
  • 4. DataGrid  Ý nghĩa: 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ự động tạo hoặc tường minh  Thuộc tính: 03CDTH632 ……. 03CDTH892 Student ID DataField ……. DataField HeadText <asp:BoundColumn DataField=“IDs” HeadText=“Student ID” />
  • 5. 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
  • 6. Ví dụ:  Tạo điều khiển (Design)  Ràng buộc vào DataReader/Dataset: (Coding) dgAuthors.DataSource = dr; dgAuthors.DataBind(); <asp:DataGrid id="dgAuthors" runat="server" /> dgAuthors.DataSource = ds.Table[0]; dgAuthors.DataBind();
  • 7. DataGrid – Ví dụ <form id="form1" runat="server"> <div> <asp:DataGrid ID="DataGrid1" runat="server" Style="z-index: 100; left: 55px; position: absolute;top: 15px"> </asp:DataGrid> </div> </form>
  • 8. DataGrid Editing  Sử dụng EditCommandColumn  Thuộc tính EditItemIndex (-1 ->không có dòng nào được hiệu chỉnh)  EditCommandColumn hiển thị 3 liên kết tương ứng 3 sự kiện: OnEditCommand, OnUpdateCommand, OnCancelCommand
  • 9. 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
  • 10. GridView các sự kiện OnEditCommand=“FunctionEdit" OnCancelCommand=“FunctionCancel“ OnPageIndexChanged=“FunctionPage" OnDeleteCommand=“FunctionDelete" OnItemCommand=“FunctionCommand"
  • 11. Gán dữ liệu Access vào DataGrid protected void Page_Load(object sender, EventArgs e) { String strCon = "Provider=Microsoft.Jet.OleDb.4.0;Data Source = "; strCon = strCon + Server.MapPath(".") + "App_DataSV.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(); } // lưu ý using System.Data.OleDb;
  • 12. Gán dữ liệu SQL vào DataGrid protected void Page_Load(object sender, EventArgs e) { string strconn = "server=TRUCLY- PCSQL2005;database=SINHVIEN;uid=sa;pwd=sa"; SqlConnection conn = new SqlConnection(strconn); string sql = "SELECT * FROM tblsinhvien"; SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); SqlDataAdapter adap=new SqlDataAdapter(sql,conn); DataSet ds = new DataSet(); adap.Fill(ds); DataGrid1.DataSource = ds; //kết gán dl với DataGrid1 DataGrid1.DataBind(); }
  • 13. Hiệu chỉnh dữ liệu - DataGrid <form runat="server"> <asp:datagrid id="gd1" runat=server OnEditCommand="gd1_Edit" OnCancelCommand="gd1_Cancel" OnUpdateCommand="gd1_Update" DataKeyField="ID"> <Columns> <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false"/> </Columns> </asp:datagrid> </form> other style properties not shown
  • 14. Hiệ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 điể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 đó.  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.
  • 18. Thự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
  • 19. Repeater  Ý nghĩa:  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:
  • 20. 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 trích dữ liệu đúng trong template  Container.DataItem trả về đối tượng Object  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)
  • 21. DataBinder – Ví dụ <asp:Repeater id="rp1" runat="server"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Name") %><br> <%# DataBinder.Eval(Container.DataItem, "Age","{0:2d}") %> <br> </ItemTemplate> </asp:Repeater>
  • 22. <asp:Repeater id="rp1" runat=server> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Name") %> is a <%# DataBinder.Eval(Container.DataItem, "Breed") %> and looks like this: <asp:Image runat=server ImageUrl=<%# DataBinder.Eval(Container.DataItem, "Image") %> /> </ItemTemplate> <SeparatorTemplate><hr/></SeparatorTemplate> </asp:Repeater> A Repeater control in use
  • 23. DataList  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 (tương tự dạng Table)  Đơn giản hơn DataGrid  Ít nhất có ItemTemplate  Mỗi template có kiểu dáng riêng (HeaderStyle và ItemStyle)
  • 24. DataList – Ví dụ <asp:DataList id="dl1" runat=server RepeatColumns=2 RepeatDirection=Horizontal> <ItemTemplate> <div style="padding:15,15,15,15"> <asp:Image runat=server ImageUrl=<%# DataBinder.Eval(Container.DataItem, "Image") %> / > <br/> <b>Name: </b><%# DataBinder.Eval(Container.DataItem, "Name") %><br/> <b>Breed: </b><%# DataBinder.Eval(Container.DataItem, "Breed") %> </ItemTemplate> </asp:DataList>
  • 26. Ràng buộc dữ liệu từ Data Reader  Thiết lập thuộc tính  Gọi phương thức DataBind Id.DataSource = dr; dgEmp.DataBind(); Thuộc tính Mô tả DataSource  Nguồn dữ liệu DataTextField  Field trong DataTable được hiển thị DataValueField  Field trong DataTable trở thành giá trị của item
  • 27. 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
  • 28. OleDb Server 2000 DataSet DataTable DataTable Thiết bị lưu trữ OleDb Database OleDbDataAdapt er OleDbConnection DataTable Bộ nhớ OleDbDataAdapter OleDbConnection Dataset là gì?
  • 29. Truy cập dữ liệu với ADO.NET Database 4. Trả DataSet cho Client 5. Client thao tác dữ liệu 2. Tạo đối tượng kết nối OleDbConnection và OleDbDataAdapter 3. Điền dữ liệu vào DataSet từ DataAdapter, đóng kết nối OleDbDataAdap ter OleDbConnecti on List-Bound Control 1. Yêu cầu từ Client 1 2 3 4 5 6. Cập nhật DataSet 7. Sử dụng OleDbDataAdapter để mở OleDbConnection, cập nhật cơ sở dữ liệu và đóng kết nối 6 7 Client Web server DataSet