Thông tin tài liệu:
Bài giảng Phát triển Web nâng cao - Chương 7 trang bị cho người học những hiểu biết về kết gán dữ liệu trong ASP.Net. hương này trình bày các nội dung: Data Controls, các properties của Data Controls, DataGrid, DataGrid Editing, DataGrid các sự kiện, hiệu chỉnh dữ liệu - DataGrid,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Phát triển Web nâng cao - Chương 7: Kết gán dữ liệu
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:
HeadText Student ID
DataField 03CDTH892
……. …….
DataField 03CDTH632
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.DataSource = ds.Table[0];
dgAuthors.DataSource = ds.Table[0];
dgAuthors.DataSource = dr;
dgAuthors.DataBind(); dgAuthors.DataBind();
dgAuthors.DataBind();
dgAuthors.DataBind();
Data Grid – Ví dụ
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: EditCommand,
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
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();
}
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
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 của
DataGrid 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ụ
A Repeater control in use
is a
and looks like this:
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)
...